Shader "Shader Graphs/zyn_shd_multifeature_00_GroundVFX"
{
    Properties
    {
        [MainTexture][NoScaleOffset]_Main_Texture("Main Texture", 2D) = "white" {}
        _Depth_Fade_Factor("Depth Fade Factor", Range(0, 3)) = 0
        [NoScaleOffset]_Dissolve_Texture("Dissolve Texture", 2D) = "white" {}
        [ToggleUI]_Distort("Distort?", Float) = 0
        [NoScaleOffset]_Distortion_Noise("Distortion Noise", 2D) = "white" {}
        [ToggleUI]_Vertex_Offset("Vertex Offset?", Float) = 0
        [NoScaleOffset]_Color_Mask("Color Mask", 2D) = "white" {}
        _Hue_shift("Hue shift", Color) = (1, 1, 1, 1)
        [HideInInspector]_CastShadows("_CastShadows", Float) = 1
        [HideInInspector]_Surface("_Surface", Float) = 1
        [HideInInspector]_Blend("_Blend", Float) = 0
        [HideInInspector]_AlphaClip("_AlphaClip", Float) = 0
        [HideInInspector]_SrcBlend("_SrcBlend", Float) = 1
        [HideInInspector]_DstBlend("_DstBlend", Float) = 0
        [HideInInspector]_SrcBlendAlpha("_SrcBlendAlpha", Float) = 1
        [HideInInspector]_DstBlendAlpha("_DstBlendAlpha", Float) = 0
        [HideInInspector][ToggleUI]_ZWrite("_ZWrite", Float) = 0
        [HideInInspector]_ZWriteControl("_ZWriteControl", Float) = 0
        [HideInInspector]_ZTest("_ZTest", Float) = 4
        [HideInInspector]_Cull("_Cull", Float) = 2
        [HideInInspector]_AlphaToMask("_AlphaToMask", Float) = 0
        [HideInInspector]_QueueOffset("_QueueOffset", Float) = 0
        [HideInInspector]_QueueControl("_QueueControl", Float) = -1
        [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
        [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
        [HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
    }
    SubShader
    {
        Tags
        {
            "RenderPipeline"="UniversalPipeline"
            "RenderType"="Transparent"
            "UniversalMaterialType" = "Unlit"
            "Queue"="Transparent"
            "DisableBatching"="False"
            "ShaderGraphShader"="true"
            "ShaderGraphTargetId"="UniversalUnlitSubTarget"
        }
        Pass
        {
            Name "Universal Forward"
            Tags
            {
                // LightMode: <None>
            }
        
        // Render State
        Cull [_Cull]
        Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
        ZTest Always
        ZWrite [_ZWrite]
        AlphaToMask [_AlphaToMask]

        // [GroundVFX] 캐릭터(Stencil bit0=1) 위에 안 그려지도록
        Stencil
        {
            Ref 1
            ReadMask 1
            Comp NotEqual
            Pass Keep
        }

        // Debug
        // <None>

        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma multi_compile_instancing
        #pragma instancing_options renderinglayer
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile _ USE_LEGACY_LIGHTMAPS
        #pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING
        #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
        #pragma multi_compile_fragment _ DEBUG_DISPLAY
        #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
        #pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
        #pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_TEXCOORD2
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_POSITION_WS
        #define VARYINGS_NEED_NORMAL_WS
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_TEXCOORD2
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_UNLIT
        #define _FOG_FRAGMENT 1
        #define UNLIT_DEFAULT_DECAL_BLENDING 1
        #define UNLIT_DEFAULT_SSAO 1
        #define REQUIRE_DEPTH_TEXTURE
        #define REQUIRE_OPAQUE_TEXTURE
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float3 positionWS;
             float3 normalWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpacePosition;
             float4 ScreenPosition;
             float2 NDCPosition;
             float2 PixelPosition;
             float4 uv0;
             float4 uv1;
             float4 uv2;
             float4 VertexColor;
             float3 TimeParameters;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionWS.xyz = input.positionWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionWS = input.positionWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
        {
            float2 delta = UV - Center;
            float angle = Strength * length(delta);
            float x = cos(angle) * delta.x - sin(angle) * delta.y;
            float y = sin(angle) * delta.x + cos(angle) * delta.y;
            Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
        }
        
        void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
        {
            Offset = pow(Offset, 3) * 0.1;
            float2 offsetU = float2(UV.x + Offset, UV.y);
            float2 offsetV = float2(UV.x, UV.y + Offset);
            float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
            float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
            float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
            float3 va = float3(1, 0, (uSample - normalSample) * Strength);
            float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
            Out = normalize(cross(va, vb));
        }
        
        void Unity_SceneColor_float(float4 UV, out float3 Out)
        {
            Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
        {
            if (unity_OrthoParams.w == 1.0)
            {
                Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
            }
            else
            {
                Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
            }
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float3 BaseColor;
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
            float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
            UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
            float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
            Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
            float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
            Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
            float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
            float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
            float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
            Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
            float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
            float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
            Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
            float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
            Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
            float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
            Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
            float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
            Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
            float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
            Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
            float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
            Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
            float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
            Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
            float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
            float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
            Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
            float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
            float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
            Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
            float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
            Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
            float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
            float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
            Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
            float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
            float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
            Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
            float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
            Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
            float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            // [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
            Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
            output.WorldSpacePosition = input.positionWS;
            output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
        
            #if UNITY_UV_STARTS_AT_TOP
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #else
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #endif
        
            output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
            output.NDCPosition.y = 1.0f - output.NDCPosition.y;
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.uv2 = input.texCoord2;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
            output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/UnlitPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "DepthOnly"
            Tags
            {
                "LightMode" = "DepthOnly"
            }
        
        // Render State
        Cull [_Cull]
        ZTest LEqual
        ZWrite On
        ColorMask R
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma multi_compile_instancing
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_DEPTHONLY
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0;
             float4 texCoord1;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float4 uv0;
             float4 uv1;
             float4 VertexColor;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 color : INTERP2;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.color.xyzw = input.color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.color = input.color.xyzw;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
        
            #if UNITY_UV_STARTS_AT_TOP
            #else
            #endif
        
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "MotionVectors"
            Tags
            {
                "LightMode" = "MotionVectors"
            }
        
        // Render State
        Cull [_Cull]
        ZTest LEqual
        ZWrite On
        ColorMask RG
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 3.5
        #pragma multi_compile_instancing
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_MOTION_VECTORS
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0;
             float4 texCoord1;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float4 uv0;
             float4 uv1;
             float4 VertexColor;
        };
        struct VertexDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 color : INTERP2;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.color.xyzw = input.color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.color = input.color.xyzw;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
        
            #if UNITY_UV_STARTS_AT_TOP
            #else
            #endif
        
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/MotionVectorPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "DepthNormalsOnly"
            Tags
            {
                "LightMode" = "DepthNormalsOnly"
            }
        
        // Render State
        Cull [_Cull]
        ZTest LEqual
        ZWrite On
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma multi_compile_instancing
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
        #pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
        #pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_NORMAL_WS
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float3 normalWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float4 uv0;
             float4 uv1;
             float4 VertexColor;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 color : INTERP2;
             float3 normalWS : INTERP3;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.color.xyzw = input.color;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.color = input.color.xyzw;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
        
            #if UNITY_UV_STARTS_AT_TOP
            #else
            #endif
        
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "ShadowCaster"
            Tags
            {
                "LightMode" = "ShadowCaster"
            }
        
        // Render State
        Cull [_Cull]
        ZTest LEqual
        ZWrite On
        ColorMask 0
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma multi_compile_instancing
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_NORMAL_WS
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_SHADOWCASTER
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float3 normalWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float4 uv0;
             float4 uv1;
             float4 VertexColor;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 color : INTERP2;
             float3 normalWS : INTERP3;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.color.xyzw = input.color;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.color = input.color.xyzw;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
        
            #if UNITY_UV_STARTS_AT_TOP
            #else
            #endif
        
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "GBuffer"
            Tags
            {
                "LightMode" = "UniversalGBuffer"
            }
        
        // Render State
        Cull [_Cull]
        Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
        ZTest Always
        ZWrite [_ZWrite]

        // [GroundVFX] 캐릭터(Stencil Ref 221) 위에 안 그��지도록
        Stencil
        {
            Ref 221
            ReadMask 221
            Comp NotEqual
            Pass Keep
        }

        // Debug
        // <None>

        // --------------------------------------------------
        // Pass

        HLSLPROGRAM

        // Pragmas
        #pragma target 4.5
        #pragma exclude_renderers gles3 glcore
        #pragma multi_compile_instancing
        #pragma instancing_options renderinglayer
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
        #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
        #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED
        #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
        #pragma multi_compile _ SHADOWS_SHADOWMASK
        #pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
        #pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_TEXCOORD2
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_POSITION_WS
        #define VARYINGS_NEED_NORMAL_WS
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_TEXCOORD2
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_GBUFFER
        #define REQUIRE_DEPTH_TEXTURE
        #define REQUIRE_OPAQUE_TEXTURE
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float3 positionWS;
             float3 normalWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 color;
            #if !defined(LIGHTMAP_ON)
             float3 sh;
            #endif
            #if defined(USE_APV_PROBE_OCCLUSION)
             float4 probeOcclusion;
            #endif
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpacePosition;
             float4 ScreenPosition;
             float2 NDCPosition;
             float2 PixelPosition;
             float4 uv0;
             float4 uv1;
             float4 uv2;
             float4 VertexColor;
             float3 TimeParameters;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
            #if !defined(LIGHTMAP_ON)
             float3 sh : INTERP0;
            #endif
            #if defined(USE_APV_PROBE_OCCLUSION)
             float4 probeOcclusion : INTERP1;
            #endif
             float4 texCoord0 : INTERP2;
             float4 texCoord1 : INTERP3;
             float4 texCoord2 : INTERP4;
             float4 color : INTERP5;
             float3 positionWS : INTERP6;
             float3 normalWS : INTERP7;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            #if !defined(LIGHTMAP_ON)
            output.sh = input.sh;
            #endif
            #if defined(USE_APV_PROBE_OCCLUSION)
            output.probeOcclusion = input.probeOcclusion;
            #endif
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionWS.xyz = input.positionWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            #if !defined(LIGHTMAP_ON)
            output.sh = input.sh;
            #endif
            #if defined(USE_APV_PROBE_OCCLUSION)
            output.probeOcclusion = input.probeOcclusion;
            #endif
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionWS = input.positionWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
        {
            float2 delta = UV - Center;
            float angle = Strength * length(delta);
            float x = cos(angle) * delta.x - sin(angle) * delta.y;
            float y = sin(angle) * delta.x + cos(angle) * delta.y;
            Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
        }
        
        void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
        {
            Offset = pow(Offset, 3) * 0.1;
            float2 offsetU = float2(UV.x + Offset, UV.y);
            float2 offsetV = float2(UV.x, UV.y + Offset);
            float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
            float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
            float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
            float3 va = float3(1, 0, (uSample - normalSample) * Strength);
            float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
            Out = normalize(cross(va, vb));
        }
        
        void Unity_SceneColor_float(float4 UV, out float3 Out)
        {
            Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
        {
            if (unity_OrthoParams.w == 1.0)
            {
                Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
            }
            else
            {
                Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
            }
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float3 BaseColor;
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
            float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
            UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
            float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
            Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
            float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
            Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
            float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
            float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
            float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
            Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
            float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
            float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
            Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
            float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
            Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
            float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
            Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
            float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
            Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
            float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
            Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
            float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
            Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
            float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
            Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
            float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
            float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
            Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
            float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
            float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
            Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
            float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
            Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
            float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
            float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
            Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
            float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
            float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
            Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
            float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
            Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
            float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            // [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
            Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
            output.WorldSpacePosition = input.positionWS;
            output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
        
            #if UNITY_UV_STARTS_AT_TOP
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #else
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #endif
        
            output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
            output.NDCPosition.y = 1.0f - output.NDCPosition.y;
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.uv2 = input.texCoord2;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
            output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/UnlitGBufferPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "SceneSelectionPass"
            Tags
            {
                "LightMode" = "SceneSelectionPass"
            }
        
        // Render State
        Cull Off
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_DEPTHONLY
        #define SCENESELECTIONPASS 1
        #define ALPHA_CLIP_THRESHOLD 1
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0;
             float4 texCoord1;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float4 uv0;
             float4 uv1;
             float4 VertexColor;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 color : INTERP2;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.color.xyzw = input.color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.color = input.color.xyzw;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
        
            #if UNITY_UV_STARTS_AT_TOP
            #else
            #endif
        
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
        Pass
        {
            Name "ScenePickingPass"
            Tags
            {
                "LightMode" = "Picking"
            }
        
        // Render State
        Cull [_Cull]
        
        // Debug
        // <None>
        
        // --------------------------------------------------
        // Pass
        
        HLSLPROGRAM
        
        // Pragmas
        #pragma target 2.0
        #pragma vertex vert
        #pragma fragment frag
        
        // Keywords
        #pragma shader_feature_local_fragment _ _ALPHATEST_ON
        // GraphKeywords: <None>
        
        // Defines
        
        #define ATTRIBUTES_NEED_NORMAL
        #define ATTRIBUTES_NEED_TANGENT
        #define ATTRIBUTES_NEED_TEXCOORD0
        #define ATTRIBUTES_NEED_TEXCOORD1
        #define ATTRIBUTES_NEED_TEXCOORD2
        #define ATTRIBUTES_NEED_COLOR
        #define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
        #define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
        #define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
        #define VARYINGS_NEED_POSITION_WS
        #define VARYINGS_NEED_TEXCOORD0
        #define VARYINGS_NEED_TEXCOORD1
        #define VARYINGS_NEED_TEXCOORD2
        #define VARYINGS_NEED_COLOR
        #define FEATURES_GRAPH_VERTEX
        /* WARNING: $splice Could not find named fragment 'PassInstancing' */
        #define SHADERPASS SHADERPASS_DEPTHONLY
        #define SCENEPICKINGPASS 1
        #define ALPHA_CLIP_THRESHOLD 1
        #define REQUIRE_DEPTH_TEXTURE
        #define REQUIRE_OPAQUE_TEXTURE
        
        
        // custom interpolator pre-include
        /* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
        
        // Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
        #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
        
        // --------------------------------------------------
        // Structs and Packing
        
        // custom interpolators pre packing
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
        
        struct Attributes
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct Varyings
        {
             float4 positionCS : SV_POSITION;
             float3 positionWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpacePosition;
             float4 ScreenPosition;
             float2 NDCPosition;
             float2 PixelPosition;
             float4 uv0;
             float4 uv1;
             float4 uv2;
             float4 VertexColor;
             float3 TimeParameters;
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 WorldSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
             float4 uv1;
             float3 TimeParameters;
        };
        struct PackedVaryings
        {
             float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord1 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionWS : INTERP4;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
             uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
             uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
             FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
            #endif
        };
        
        PackedVaryings PackVaryings (Varyings input)
        {
            PackedVaryings output;
            ZERO_INITIALIZE(PackedVaryings, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionWS.xyz = input.positionWS;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        Varyings UnpackVaryings (PackedVaryings input)
        {
            Varyings output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionWS = input.positionWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
            output.instanceID = input.instanceID;
            #endif
            #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
            output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
            #endif
            #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
            output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
            #endif
            #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
            output.cullFace = input.cullFace;
            #endif
            return output;
        }
        
        
        // --------------------------------------------------
        // Graph
        
        // Graph Properties
        CBUFFER_START(UnityPerMaterial)
        float4 _Main_Texture_TexelSize;
        float4 _Dissolve_Texture_TexelSize;
        float _Depth_Fade_Factor;
        float _Distort;
        float _Vertex_Offset;
        float4 _Distortion_Noise_TexelSize;
        float4 _Color_Mask_TexelSize;
        float4 _Hue_shift;
        UNITY_TEXTURE_STREAMING_DEBUG_VARS;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        TEXTURE2D(_Main_Texture);
        SAMPLER(sampler_Main_Texture);
        TEXTURE2D(_Dissolve_Texture);
        SAMPLER(sampler_Dissolve_Texture);
        TEXTURE2D(_Distortion_Noise);
        SAMPLER(sampler_Distortion_Noise);
        TEXTURE2D(_Color_Mask);
        SAMPLER(sampler_Color_Mask);
        
        // Graph Includes
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
        
        // -- Property used by ScenePickingPass
        #ifdef SCENEPICKINGPASS
        float4 _SelectionID;
        #endif
        
        // -- Properties used by SceneSelectionPass
        #ifdef SCENESELECTIONPASS
        int _ObjectId;
        int _PassValue;
        #endif
        
        // Graph Functions
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
        {
            float2 i = floor(uv);
            float2 f = frac(uv);
            f = f * f * (3.0 - 2.0 * f);
            uv = abs(frac(uv) - 0.5);
            float2 c0 = i + float2(0.0, 0.0);
            float2 c1 = i + float2(1.0, 0.0);
            float2 c2 = i + float2(0.0, 1.0);
            float2 c3 = i + float2(1.0, 1.0);
            float r0; Hash_Tchou_2_1_float(c0, r0);
            float r1; Hash_Tchou_2_1_float(c1, r1);
            float r2; Hash_Tchou_2_1_float(c2, r2);
            float r3; Hash_Tchou_2_1_float(c3, r3);
            float bottomOfGrid = lerp(r0, r1, f.x);
            float topOfGrid = lerp(r2, r3, f.x);
            float t = lerp(bottomOfGrid, topOfGrid, f.y);
            return t;
        }
        
        void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
        {
            float freq, amp;
            Out = 0.0f;
            freq = pow(2.0, float(0));
            amp = pow(0.5, float(3-0));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(1));
            amp = pow(0.5, float(3-1));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
            freq = pow(2.0, float(2));
            amp = pow(0.5, float(3-2));
            Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
        {
            float2 delta = UV - Center;
            float angle = Strength * length(delta);
            float x = cos(angle) * delta.x - sin(angle) * delta.y;
            float y = sin(angle) * delta.x + cos(angle) * delta.y;
            Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
        }
        
        void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
        {
            Offset = pow(Offset, 3) * 0.1;
            float2 offsetU = float2(UV.x + Offset, UV.y);
            float2 offsetV = float2(UV.x, UV.y + Offset);
            float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
            float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
            float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
            float3 va = float3(1, 0, (uSample - normalSample) * Strength);
            float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
            Out = normalize(cross(va, vb));
        }
        
        void Unity_SceneColor_float(float4 UV, out float3 Out)
        {
            Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A * B;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
        {
            if (unity_OrthoParams.w == 1.0)
            {
                Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
            }
            else
            {
                Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
            }
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
        {
            Out = smoothstep(Edge1, Edge2, In);
        }
        
        // Custom interpolators pre vertex
        /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
        
        // Graph Vertex
        struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
            float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
            float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
            float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
            float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
            float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
            float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
            Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
            float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
            Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
            float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
            Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
            float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
            Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
            float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
            description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
        // Custom interpolators, pre surface
        #ifdef FEATURES_GRAPH_VERTEX
        Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
        {
        return output;
        }
        #define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
        #endif
        
        // Graph Pixel
        struct SurfaceDescription
        {
            float3 BaseColor;
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
            float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
            UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
            float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
            Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
            float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
            Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
            float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
            float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
            float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
            float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
            Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
            float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
            float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
            float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
            Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
            float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
            Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
            float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
            Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
            float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
            Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
            float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
            Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
            UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
            float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
            float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
            float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
            float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
            float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
            float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
            float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
            Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
            float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
            float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
            float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
            float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
            Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
            float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
            Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
            float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
            float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
            float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
            Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
            float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
            float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
            Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
            float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
            Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
            float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
            float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
            float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
            Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
            float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
            float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
            Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
            float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
            Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
            float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            // [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
            Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
            float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
            float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
            float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
            float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
            float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
            float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
            Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
            UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
            float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
            float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
            float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
            Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
            float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
            surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
            surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
            surface.AlphaClipThreshold = float(0.5);
            return surface;
        }
        
        // --------------------------------------------------
        // Build Graph Inputs
        #ifdef HAVE_VFX_MODIFICATION
        #define VFX_SRP_ATTRIBUTES Attributes
        #define VFX_SRP_VARYINGS Varyings
        #define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
        #endif
        VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.WorldSpaceNormal =                           TransformObjectToWorldNormal(input.normalOS);
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
            output.uv1 =                                        input.uv1;
            output.TimeParameters =                             _TimeParameters.xyz;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
        
            return output;
        }
        SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
        #ifdef HAVE_VFX_MODIFICATION
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            
        
        
        
        
        
            output.WorldSpacePosition = input.positionWS;
            output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
        
            #if UNITY_UV_STARTS_AT_TOP
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #else
            output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
            #endif
        
            output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
            output.NDCPosition.y = 1.0f - output.NDCPosition.y;
        
            output.uv0 = input.texCoord0;
            output.uv1 = input.texCoord1;
            output.uv2 = input.texCoord2;
            output.VertexColor = input.color;
        #if UNITY_ANY_INSTANCING_ENABLED
        #else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
        #endif
            output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
        #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign =                    IS_FRONT_VFACE(input.cullFace, true, false);
        #else
        #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        #endif
        #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
        
                return output;
        }
        
        // --------------------------------------------------
        // Main
        
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
        #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
        
        // --------------------------------------------------
        // Visual Effect Vertex Invocations
        #ifdef HAVE_VFX_MODIFICATION
        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
        #endif
        
        ENDHLSL
        }
    }
    CustomEditor "UnityEditor.ShaderGraph.GenericShaderGraphMaterialGUI"
    CustomEditorForRenderPipeline "UnityEditor.ShaderGraphUnlitGUI" "UnityEngine.Rendering.Universal.UniversalRenderPipelineAsset"
    FallBack "Hidden/Shader Graph/FallbackError"
}