diff --git a/Assets/test/quine_golf.shader b/Assets/test/quine_golf.shader index 160fdb7..b7c5bd6 100644 --- a/Assets/test/quine_golf.shader +++ b/Assets/test/quine_golf.shader @@ -3,17 +3,14 @@ Shader"S"{SubShader{Pass{CGPROGRAM#pragma vertex a #include"UnityCG.cginc" #define g const uint struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}float3 f(V U):SV_Target{ -g t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc251,0x22a4ccf8,0x24a26b0d,0x718915e0,0x3bdc4407,0x40a4f48d,0x5cc90e40,0x67f27ee5,0x0125aeee,0x2fded81e,0x7ba20d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7dd7e131,0x8802215d,0x793c7eb0,0x7ad99288,0x76b88a6f,0x7aea15b0,0x85a02346,0x3401d0e0,0x8bde4d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7d04286b,0x5ced1bbf,0x3025cfee,0x2fded81e,0x7ba4b2d0,0x79543a04,0x4850f4c8,0x4a92c0fb,0x79586a84,0x48664053,0x8b2a258f,0x0126f369,0x016c68a2,0x76b44093,0x80770b08,0x76b88a6f,0x7aea15b0,0x85a69ff3,0x6a865f87,0x8a33f131,0x7628343e,0x80ac7ba1,0x3e5dcba9,0x2d5f4c1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x8a7a6d41,0x8097918b,0x78689288,0x2fe6ed44,0x4b0f80f3,0x71b140db,0x62ec13de,0x1f417b36,0x790b1049,0x53c9d65b,0x5bb83ff3,0x71affbd5,0x6e9d819f,0x5d839980,0x71e21f2a,0x70a7a740,0x28e2812b,0x93ed1d08,0x77f907ff,0x5d7d89f0,0x5ec855c7,0x8f2c49f0,0x1f38af31,0x7db71b1d,0xa0bace31,0x2c023743,0x0c83e9a2,0x0c553be2,0x0eaf9487,0x02b7b638,0x2c312f59,0x0eecb9aa,0x13afda83,0x02fdd3e8,0x115e324a,0x2c291542,0x115e04a2,0x0ef51b9a,0x0c6d7487,0x0c4506d3,0x2c295f51,0x18a164a7,0x0edd91f4,0x1685d259,0x163f6b92,0x0530ea38,0x02fe8337,0x0ec63a62,0x114dc9a8,0x13b0d2a4,0x05217d28,0x02fe0452,0x0782ada2,0x09ecd2a5,0x13989af4,0x18f6d259,0x163f6c32,0x05310383,0x02fdd259,0x0501be91,0x2c195d33,0x18b06ea4,0x02988e41,0x2c313093,0x0509aba7,0x09e35b34,0x02fdd3e3,0x0a0b1853,0x2c021f83,0x113e8f42,0x13bf2df5,0x02c0e2a6,0x07827659,0x11a450ea,0x111f9952,0x05291943,0x0ef489a2,0x051112f9,0x04eb9344,0x04fa2184,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c026a84,0x07dfec43,0x16302ea2,0x0792485a,0x11658462,0x13afc0f2,0x0c459cd6,0x09dd3435,0x078a7a37,0x2c40e992,0x111f84a6,0x1155fdf7,0x2c01ede2,0x075b7fa2,0x1685d342,0x075aeea2,0x0c7b83e4,0x13b0d343,0x113e42a6,0x11a3d4d5,0x13909856,0x2c0204a3,0x0299d2a6,0x13bf9333,0x0a50d4d2,0x0ee57a56,0x2c11a4aa,0x02b07fa2,0x16193b43,0x075c9342,0x2c028291,0x02a0c162,0x076aed57,0x0c4e3393,0x11279be7,0x2c198f35,0x1871eea2,0x02b79c92,0x0f3304f8,0x139fa522,0x2c19a923,0x027a94d4,0x18a8b343,0x2c2915ea,0x04f1bea7,0x0c4d2186,0x16860543,0x02bfd4a2,0x0c647747,0x2c1a0aa6,0x075c92f3,0x09fb4797,0x2c30ce26,0x0eb69a62,0x0c4d1f5a,0x09dd3526,0x13906923,0x2c026855,0x09f32bb2,0x8f2c442a,0x70a7a6f0,0x54f27128,0xa3ca8817,0x3bdc43e0,0x204da6ae,0x2da182cf,0x54634927,0x9add12f3,0x660a727b,0x11547e6c,0xa3ca8817,0x649bd016,0x9a33c559,0xafe7bf85,0x9333839f,0x915210fc,0xb248e217,0x649bc7a8,0x092918eb,0x246789cc,0xa618a73f,0x67569729,0x28de61ef,0x04efb04f,0x052d573f,0x6756970d,0x9b9fba8b,0x66354f0a,0x04f82826,0x91d8cdcb,0x907f1e2c,0xad9b6f03,0x0e10afa6,0x948f8217,0x8e13522f,0x3968f299,0xab49a915,0x99ee59a5,0x7db508d6,0x9ff88c22,0x7d0484cb,0x66597913,0x664c0d19,0xa81d205a,0x9a1578fd,0xb4261183,0x8ed022eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7db5c1d6,0x3b3ff81d,0x9f1d1826,0x91afc573,0x1081afe3,0x91b01a1c,0x7db96a72,0x84abbe5a,0x8d9a0000,}; +g t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc251,0x22a4ccf8,0x24a26b0d,0x718915e0,0x3bdc4407,0x40a4f48d,0x5cc90e40,0x67f27ee5,0x0125aeee,0x2fded81e,0x7ba20d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7dd7e131,0x8802215d,0x793c7eb0,0x7ad99288,0x76b88a6f,0x7aea15b0,0x85a02346,0x3401d0e0,0x8bde4d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7d04286b,0x5ced1bbf,0x3025cfee,0x2fded81e,0x7ba4b2d0,0x79543a04,0x4850f4c8,0x4a92c0fb,0x79586a84,0x48664053,0x8b2a258f,0x0126f369,0x016c68a2,0x76b44093,0x80770b08,0x76b88a6f,0x7aea15b0,0x85a69ff3,0x6a865f87,0x8a33f131,0x7628343e,0x80ac7ba1,0x3e5dcba9,0x2d5f4c1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x8a7a6d41,0x8097918b,0x78689288,0x2fe6ed44,0x4b0f80f3,0x71b140db,0x62ec13de,0x1f417b36,0x790b1049,0x53c9d65b,0x5bb83ff3,0x71affbd5,0x6e9d819f,0x5d839980,0x71e21f2a,0x70a7a740,0x28e2812b,0x93ed1d08,0x77f907ff,0x5d7d89f0,0x5ec855c7,0x8f2c49f0,0x1f38af31,0x7db71b1d,0xa0bace31,0x2c023743,0x0c83e9a2,0x0c553be2,0x0eaf9487,0x02b7b638,0x2c312f59,0x0eecb9aa,0x13afda83,0x02fdd3e8,0x115e324a,0x2c291542,0x115e04a2,0x0ef51b9a,0x0c6d7487,0x0c4506d3,0x2c295f51,0x18a164a7,0x0edd91f4,0x1685d259,0x163f6b92,0x0530ea38,0x02fe8337,0x0ec63a62,0x114dc9a8,0x13b0d2a4,0x05217d28,0x02fe0452,0x0782ada2,0x09ecd2a5,0x13989af4,0x18f6d259,0x163f6c32,0x05310383,0x02fdd259,0x0501be91,0x2c195d33,0x18b06ea4,0x02988e41,0x2c313093,0x0509aba7,0x09e35b34,0x02fdd3e3,0x0a0b1853,0x2c021f83,0x113e8f42,0x13bf2df5,0x02c0e2a6,0x07827659,0x11a450ea,0x111f9952,0x05291943,0x0ef489a2,0x051112f9,0x04eb9344,0x04fa2184,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c026a84,0x07dfec43,0x16302ea2,0x0792485a,0x11658462,0x13afc0f2,0x0c459cd6,0x09dd3435,0x078a7a37,0x2c40e992,0x111f84a6,0x1155fdf7,0x2c01ede2,0x075b7fa2,0x1685d342,0x075aeea2,0x0c7b83e4,0x13b0d343,0x113e42a6,0x11a3d4d5,0x13909856,0x2c0204a3,0x0299d2a6,0x13bf9333,0x0a50d4d2,0x0ee57a56,0x2c11a4aa,0x02b07fa2,0x16193b43,0x075c9342,0x2c028291,0x02a0c162,0x076aed57,0x0c4e3393,0x11279be7,0x2c198f35,0x1871eea2,0x02b79c92,0x0f3304f8,0x139fa522,0x2c19a923,0x027a94d4,0x18a8b343,0x2c2915ea,0x04f1bea7,0x0c4d2186,0x16860543,0x02bfd4a2,0x0c647747,0x2c1a0aa6,0x075c92f3,0x09fb4797,0x2c30ce26,0x0eb69a62,0x0c4d1f5a,0x09dd3526,0x13906923,0x2c09ee96,0x16208ee3,0x2c026855,0x09f32bb2,0x8f2c442a,0x70a7a6f0,0x54f27128,0xa3ca6f17,0x3bdc43e0,0x204da6d7,0x2d9641cd,0x2b14e2d2,0x6f39c80f,0x837e0536,0xaa28a0f7,0x12a94be0,0x915239bc,0xaf85c784,0x0c546bd7,0x5fa2c999,0xa8d8b2d2,0x0671c8bd,0xafe6bc7d,0xb1fb1004,0x065288ef,0x04f10aa9,0x748fba8b,0x66354f0b,0x04f82826,0x91d8cdcb,0x90774e2c,0xad9b6f03,0x0e10afa6,0x948f8217,0x8e13522f,0x396e20eb,0x663d1f03,0x07a1e883,0x5fa2c321,0x66639ad3,0x28797f99,0xb425d619,0xaff41814,0xa7da1caf,0x1605cf59,0x9a15792a,0x60eae992,0x6f3b8e6c,0xa3cebbcf,0x91190a95,0x83404d63,0x5fdc92f8,0x347d8951,0x21c78c1b,0x837db3f6,0x94a6f72b,0x839828f3,0x610143d6,0x42cb7c5a,}; g b=460; -g R[]={0,15324974,4395150,7608367,7608583,9747720,15768839,6331686,15994946,7641382,6600966,6568238,1088807,197670,8665390,6601774,13179970,301257,134,14719239,1088809,198720,10813440,4262980,304430,7642145,6330630,15238702,14726446,7642409,15255086,6596073,18732593,11512810,3312673,12923174,11953,17732,2328644,277096930,7465,4198532,6426766,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,32772191,459200,8397132,6359110,6426758,332096,145536,491520,2236546,72955190,4260932,9570592,17043521,}; -float2 p=U.u*67; -uint c,i,d,Y,X=p.x;Y=p.y;i=X+(66-Y)*67; -if(i>=b&&i<3474){ -d=(i-b)%11; -if(d<2)c=(d<<4)+1; -else if(d==10)c=18; -else c=(t[(i-b)/11]>>((7-((d-2)&7))*4)&15)+1; -}else{if(i>b)i-=3014; +g R[]={0,15324974,4395150,7608367,7608583,9747720,15768839,6331686,15994946,7641382,6600966,6568238,1088807,197670,8665390,6601774,13179970,301257,134,14719239,1088809,198720,10813440,4262980,304430,7642145,6330630,15238702,14726446,7642409,15255086,6596073,18732593,11512810,3312673,12923174,11953,17732,2328644,277096930,7465,4198532,6426766,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,32772191,459200,8397132,6359110,6426758,332096,145536,491520,2236546,72955190,4260932,9570592,244584452,17043521,}; +float2 p=U.u*66; +uint c,i,Y,X=p.x;Y=p.y;i=X+(65-Y)*66; +if(i>=b&&i<3430){ +c=(i-b)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-b)/11]>>((7-((c-2)&7))*4)&15)+1; +}else{i-=(i>b)*2970; c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;} Y=(p.y-Y)*6;X=(p.x-X)*6; return R[c]>>(X+Y*5)&1*(X<5); diff --git a/text_shader/out_golfed.h b/text_shader/out_golfed.h index d60889b..59f3b27 100644 --- a/text_shader/out_golfed.h +++ b/text_shader/out_golfed.h @@ -1,5 +1,5 @@ -g t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc251,0x22a4ccf8,0x24a26b0d,0x718915e0,0x3bdc4407,0x40a4f48d,0x5cc90e40,0x67f27ee5,0x0125aeee,0x2fded81e,0x7ba20d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7dd7e131,0x8802215d,0x793c7eb0,0x7ad99288,0x76b88a6f,0x7aea15b0,0x85a02346,0x3401d0e0,0x8bde4d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7d04286b,0x5ced1bbf,0x3025cfee,0x2fded81e,0x7ba4b2d0,0x79543a04,0x4850f4c8,0x4a92c0fb,0x79586a84,0x48664053,0x8b2a258f,0x0126f369,0x016c68a2,0x76b44093,0x80770b08,0x76b88a6f,0x7aea15b0,0x85a69ff3,0x6a865f87,0x8a33f131,0x7628343e,0x80ac7ba1,0x3e5dcba9,0x2d5f4c1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x8a7a6d41,0x8097918b,0x78689288,0x2fe6ed44,0x4b0f80f3,0x71b140db,0x62ec13de,0x1f417b36,0x790b1049,0x53c9d65b,0x5bb83ff3,0x71affbd5,0x6e9d819f,0x5d839980,0x71e21f2a,0x70a7a740,0x28e2812b,0x93ed1d08,0x77f907ff,0x5d7d89f0,0x5ec855c7,0x8f2c49f0,0x1f38af31,0x7db71b1d,0xa0bace31,0x2c023743,0x0c83e9a2,0x0c553be2,0x0eaf9487,0x02b7b638,0x2c312f59,0x0eecb9aa,0x13afda83,0x02fdd3e8,0x115e324a,0x2c291542,0x115e04a2,0x0ef51b9a,0x0c6d7487,0x0c4506d3,0x2c295f51,0x18a164a7,0x0edd91f4,0x1685d259,0x163f6b92,0x0530ea38,0x02fe8337,0x0ec63a62,0x114dc9a8,0x13b0d2a4,0x05217d28,0x02fe0452,0x0782ada2,0x09ecd2a5,0x13989af4,0x18f6d259,0x163f6c32,0x05310383,0x02fdd259,0x0501be91,0x2c195d33,0x18b06ea4,0x02988e41,0x2c313093,0x0509aba7,0x09e35b34,0x02fdd3e3,0x0a0b1853,0x2c021f83,0x113e8f42,0x13bf2df5,0x02c0e2a6,0x07827659,0x11a450ea,0x111f9952,0x05291943,0x0ef489a2,0x051112f9,0x04eb9344,0x04fa2184,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c026a84,0x07dfec43,0x16302ea2,0x0792485a,0x11658462,0x13afc0f2,0x0c459cd6,0x09dd3435,0x078a7a37,0x2c40e992,0x111f84a6,0x1155fdf7,0x2c01ede2,0x075b7fa2,0x1685d342,0x075aeea2,0x0c7b83e4,0x13b0d343,0x113e42a6,0x11a3d4d5,0x13909856,0x2c0204a3,0x0299d2a6,0x13bf9333,0x0a50d4d2,0x0ee57a56,0x2c11a4aa,0x02b07fa2,0x16193b43,0x075c9342,0x2c028291,0x02a0c162,0x076aed57,0x0c4e3393,0x11279be7,0x2c198f35,0x1871eea2,0x02b79c92,0x0f3304f8,0x139fa522,0x2c19a923,0x027a94d4,0x18a8b343,0x2c2915ea,0x04f1bea7,0x0c4d2186,0x16860543,0x02bfd4a2,0x0c647747,0x2c1a0aa6,0x075c92f3,0x09fb4797,0x2c30ce26,0x0eb69a62,0x0c4d1f5a,0x09dd3526,0x13906923,0x2c026855,0x09f32bb2,0x8f2c442a,0x70a7a6f0,0x54f27128,0xa3ca8817,0x3bdc43e0,0x204da6ae,0x2da182cf,0x54634927,0x9add12f3,0x660a727b,0x11547e6c,0xa3ca8817,0x649bd016,0x9a33c559,0xafe7bf85,0x9333839f,0x915210fc,0xb248e217,0x649bc7a8,0x092918eb,0x246789cc,0xa618a73f,0x67569729,0x28de61ef,0x04efb04f,0x052d573f,0x6756970d,0x9b9fba8b,0x66354f0a,0x04f82826,0x91d8cdcb,0x907f1e2c,0xad9b6f03,0x0e10afa6,0x948f8217,0x8e13522f,0x3968f299,0xab49a915,0x99ee59a5,0x7db508d6,0x9ff88c22,0x7d0484cb,0x66597913,0x664c0d19,0xa81d205a,0x9a1578fd,0xb4261183,0x8ed022eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7db5c1d6,0x3b3ff81d,0x9f1d1826,0x91afc573,0x1081afe3,0x91b01a1c,0x7db96a72,0x84abbe5a,0x8d9a0000,}; +g t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc251,0x22a4ccf8,0x24a26b0d,0x718915e0,0x3bdc4407,0x40a4f48d,0x5cc90e40,0x67f27ee5,0x0125aeee,0x2fded81e,0x7ba20d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7dd7e131,0x8802215d,0x793c7eb0,0x7ad99288,0x76b88a6f,0x7aea15b0,0x85a02346,0x3401d0e0,0x8bde4d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7d04286b,0x5ced1bbf,0x3025cfee,0x2fded81e,0x7ba4b2d0,0x79543a04,0x4850f4c8,0x4a92c0fb,0x79586a84,0x48664053,0x8b2a258f,0x0126f369,0x016c68a2,0x76b44093,0x80770b08,0x76b88a6f,0x7aea15b0,0x85a69ff3,0x6a865f87,0x8a33f131,0x7628343e,0x80ac7ba1,0x3e5dcba9,0x2d5f4c1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x8a7a6d41,0x8097918b,0x78689288,0x2fe6ed44,0x4b0f80f3,0x71b140db,0x62ec13de,0x1f417b36,0x790b1049,0x53c9d65b,0x5bb83ff3,0x71affbd5,0x6e9d819f,0x5d839980,0x71e21f2a,0x70a7a740,0x28e2812b,0x93ed1d08,0x77f907ff,0x5d7d89f0,0x5ec855c7,0x8f2c49f0,0x1f38af31,0x7db71b1d,0xa0bace31,0x2c023743,0x0c83e9a2,0x0c553be2,0x0eaf9487,0x02b7b638,0x2c312f59,0x0eecb9aa,0x13afda83,0x02fdd3e8,0x115e324a,0x2c291542,0x115e04a2,0x0ef51b9a,0x0c6d7487,0x0c4506d3,0x2c295f51,0x18a164a7,0x0edd91f4,0x1685d259,0x163f6b92,0x0530ea38,0x02fe8337,0x0ec63a62,0x114dc9a8,0x13b0d2a4,0x05217d28,0x02fe0452,0x0782ada2,0x09ecd2a5,0x13989af4,0x18f6d259,0x163f6c32,0x05310383,0x02fdd259,0x0501be91,0x2c195d33,0x18b06ea4,0x02988e41,0x2c313093,0x0509aba7,0x09e35b34,0x02fdd3e3,0x0a0b1853,0x2c021f83,0x113e8f42,0x13bf2df5,0x02c0e2a6,0x07827659,0x11a450ea,0x111f9952,0x05291943,0x0ef489a2,0x051112f9,0x04eb9344,0x04fa2184,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c026a84,0x07dfec43,0x16302ea2,0x0792485a,0x11658462,0x13afc0f2,0x0c459cd6,0x09dd3435,0x078a7a37,0x2c40e992,0x111f84a6,0x1155fdf7,0x2c01ede2,0x075b7fa2,0x1685d342,0x075aeea2,0x0c7b83e4,0x13b0d343,0x113e42a6,0x11a3d4d5,0x13909856,0x2c0204a3,0x0299d2a6,0x13bf9333,0x0a50d4d2,0x0ee57a56,0x2c11a4aa,0x02b07fa2,0x16193b43,0x075c9342,0x2c028291,0x02a0c162,0x076aed57,0x0c4e3393,0x11279be7,0x2c198f35,0x1871eea2,0x02b79c92,0x0f3304f8,0x139fa522,0x2c19a923,0x027a94d4,0x18a8b343,0x2c2915ea,0x04f1bea7,0x0c4d2186,0x16860543,0x02bfd4a2,0x0c647747,0x2c1a0aa6,0x075c92f3,0x09fb4797,0x2c30ce26,0x0eb69a62,0x0c4d1f5a,0x09dd3526,0x13906923,0x2c09ee96,0x16208ee3,0x2c026855,0x09f32bb2,0x8f2c442a,0x70a7a6f0,0x54f27128,0xa3ca6f17,0x3bdc43e0,0x204da6d7,0x2d9641cd,0x2b14e2d2,0x6f39c80f,0x837e0536,0xaa28a0f7,0x12a94be0,0x915239bc,0xaf85c784,0x0c546bd7,0x5fa2c999,0xa8d8b2d2,0x0671c8bd,0xafe6bc7d,0xb1fb1004,0x065288ef,0x04f10aa9,0x748fba8b,0x66354f0b,0x04f82826,0x91d8cdcb,0x90774e2c,0xad9b6f03,0x0e10afa6,0x948f8217,0x8e13522f,0x396e20eb,0x663d1f03,0x07a1e883,0x5fa2c321,0x66639ad3,0x28797f99,0xb425d619,0xaff41814,0xa7da1caf,0x1605cf59,0x9a15792a,0x60eae992,0x6f3b8e6c,0xa3cebbcf,0x91190a95,0x83404d63,0x5fdc92f8,0x347d8951,0x21c78c1b,0x837db3f6,0x94a6f72b,0x839828f3,0x610143d6,0x42cb7c5a,}; g b=460; -uint magic_number_L_plus_b= 3474; -uint magic_number_L= 3014; -g R[]={0,15324974,4395150,7608367,7608583,9747720,15768839,6331686,15994946,7641382,6600966,6568238,1088807,197670,8665390,6601774,13179970,301257,134,14719239,1088809,198720,10813440,4262980,304430,7642145,6330630,15238702,14726446,7642409,15255086,6596073,18732593,11512810,3312673,12923174,11953,17732,2328644,277096930,7465,4198532,6426766,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,32772191,459200,8397132,6359110,6426758,332096,145536,491520,2236546,72955190,4260932,9570592,17043521,}; +uint magic_number_L_plus_b= 3430; +uint magic_number_L= 2970; +g R[]={0,15324974,4395150,7608367,7608583,9747720,15768839,6331686,15994946,7641382,6600966,6568238,1088807,197670,8665390,6601774,13179970,301257,134,14719239,1088809,198720,10813440,4262980,304430,7642145,6330630,15238702,14726446,7642409,15255086,6596073,18732593,11512810,3312673,12923174,11953,17732,2328644,277096930,7465,4198532,6426766,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,32772191,459200,8397132,6359110,6426758,332096,145536,491520,2236546,72955190,4260932,9570592,244584452,17043521,};