Bug 772726. Part 4: Fix SampleTextTexturesPS(Masked) shaders to premultiply TextColor. r=jrmuizel
authorBas Schouten <bas.schouten@live.nl>
Wed, 18 Jul 2012 01:02:08 -0400
changeset 99630 c59466c2042b7923cb0a25610992587ef2d97dd7
parent 99629 a3ee29cb995c46f2c9f64db2c53767aa1bbbed85
child 99631 af578c454d1efc42360ebbff6b154a7db3aa2253
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersjrmuizel
bugs772726
milestone17.0a1
Bug 772726. Part 4: Fix SampleTextTexturesPS(Masked) shaders to premultiply TextColor. r=jrmuizel
gfx/2d/ShadersD2D.fx
gfx/2d/ShadersD2D.h
gfx/2d/genshaders.sh
--- a/gfx/2d/ShadersD2D.fx
+++ b/gfx/2d/ShadersD2D.fx
@@ -296,28 +296,28 @@ float4 SampleMaskShadowVPS( VS_OUTPUT In
     outputColor += BlurWeights[2].x * tex.Sample(sShadowSampler, float2(In.TexCoord.x, In.TexCoord.y + BlurOffsetsV[2].x));
 
     return outputColor * mask.Sample(sMaskSampler, In.MaskTexCoord).a;
 };
 
 PS_TEXT_OUTPUT SampleTextTexturePS( VS_OUTPUT In) : SV_Target
 {
     PS_TEXT_OUTPUT output;
-    output.color = TextColor;
+    output.color = float4(TextColor.r, TextColor.g, TextColor.b, 1.0);
     output.alpha.rgba = tex.Sample(sSampler, In.TexCoord).bgrg * TextColor.a;
     return output;
 };
 
 PS_TEXT_OUTPUT SampleTextTexturePSMasked( VS_OUTPUT In) : SV_Target
 {
     PS_TEXT_OUTPUT output;
     
     float maskValue = mask.Sample(sMaskSampler, In.MaskTexCoord).a;
 
-    output.color = TextColor * maskValue;
+    output.color = float4(TextColor.r, TextColor.g, TextColor.b, 1.0);
     output.alpha.rgba = tex.Sample(sSampler, In.TexCoord).bgrg * TextColor.a * maskValue;
     
     return output;
 };
 
 technique10 SampleTexture
 {
     pass P0
--- a/gfx/2d/ShadersD2D.h
+++ b/gfx/2d/ShadersD2D.h
@@ -2825,37 +2825,41 @@ technique10 SampleTextTexture
             // Target Sampler Source Sampler  Source Resource
             // -------------- --------------- ----------------
             // s0             s0              t0               
             //
             //
             // Level9 shader bytecode:
             //
                 ps_2_x
+                def c1, 1, 0, 0, 0
                 dcl t0
                 dcl_2d s0
-                mov oC0, c0
+                mov r0.xyz, c0
+                mad r0, r0.xyzx, c1.xxxy, c1.yyyx
+                mov oC0, r0
                 texld r0, t0, s0
                 mul r0, r0.zyxy, c0.w
                 mov oC1, r0
             
-            // approximately 4 instruction slots used (1 texture, 3 arithmetic)
+            // approximately 6 instruction slots used (1 texture, 5 arithmetic)
             ps_4_0
             dcl_constantbuffer cb0[4], immediateIndexed
             dcl_sampler s0, mode_default
             dcl_resource_texture2d (float,float,float,float) t0
             dcl_input_ps linear v1.xy
             dcl_output o0.xyzw
             dcl_output o1.xyzw
             dcl_temps 1
-            mov o0.xyzw, cb0[3].xyzw
+            mov o0.xyz, cb0[3].xyzx
+            mov o0.w, l(1.000000)
             sample r0.xyzw, v1.xyxx, t0.xyzw, s0
             mul o1.xyzw, r0.zyxy, cb0[3].wwww
             ret 
-            // Approximately 4 instruction slots used
+            // Approximately 5 instruction slots used
                     
         };
     }
 
     pass Masked
     {
         RasterizerState = TextureRast;
         AB_BlendFactor = float4(0, 0, 0, 0);
@@ -3004,70 +3008,73 @@ technique10 SampleTextTexture
             // -------------- --------------- ----------------
             // s0             s0              t0               
             // s1             s1              t1               
             //
             //
             // Level9 shader bytecode:
             //
                 ps_2_x
+                def c1, 1, 0, 0, 0
                 dcl t0
                 dcl_2d s0
                 dcl_2d s1
+                mov r0.xyz, c0
+                mad r0, r0.xyzx, c1.xxxy, c1.yyyx
+                mov oC0, r0
                 mov r0.xy, t0.wzzw
                 texld r1, t0, s0
                 texld r0, r0, s1
-                mul r2, r0.w, c0
-                mov oC0, r2
                 mul r1, r1.zyxy, c0.w
                 mul r0, r0.w, r1
                 mov oC1, r0
             
-            // approximately 8 instruction slots used (2 texture, 6 arithmetic)
+            // approximately 9 instruction slots used (2 texture, 7 arithmetic)
             ps_4_0
             dcl_constantbuffer cb0[4], immediateIndexed
             dcl_sampler s0, mode_default
             dcl_sampler s1, mode_default
             dcl_resource_texture2d (float,float,float,float) t0
             dcl_resource_texture2d (float,float,float,float) t1
             dcl_input_ps linear v1.xy
             dcl_input_ps linear v1.zw
             dcl_output o0.xyzw
             dcl_output o1.xyzw
             dcl_temps 2
-            sample r0.xyzw, v1.zwzz, t1.xyzw, s1
-            mul o0.xyzw, r0.wwww, cb0[3].xyzw
-            sample r1.xyzw, v1.xyxx, t0.xyzw, s0
-            mul r1.xyzw, r1.zyxy, cb0[3].wwww
-            mul o1.xyzw, r0.wwww, r1.xyzw
+            mov o0.xyz, cb0[3].xyzx
+            mov o0.w, l(1.000000)
+            sample r0.xyzw, v1.xyxx, t0.xyzw, s0
+            mul r0.xyzw, r0.zyxy, cb0[3].wwww
+            sample r1.xyzw, v1.zwzz, t1.xyzw, s1
+            mul o1.xyzw, r0.xyzw, r1.wwww
             ret 
-            // Approximately 6 instruction slots used
+            // Approximately 7 instruction slots used
                     
         };
     }
 
 }
 
 #endif
 
 const BYTE d2deffect[] =
 {
-     68,  88,  66,  67, 103,  57, 
-    133,   3,  51,  56, 175,  39, 
-     21,  65,  54, 209,  72, 159, 
-    240, 237,   1,   0,   0,   0, 
-     16, 191,   0,   0,   1,   0, 
+     68,  88,  66,  67, 180,  92, 
+     99,   8,  31, 243, 141,  10, 
+    239,  43,  71, 236,  45, 138, 
+     71, 112,   1,   0,   0,   0, 
+    144, 191,   0,   0,   1,   0, 
       0,   0,  36,   0,   0,   0, 
-     70,  88,  49,  48, 228, 190, 
+     70,  88,  49,  48, 100, 191, 
       0,   0,   1,  16, 255, 254, 
       3,   0,   0,   0,  15,   0, 
       0,   0,  11,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      5,   0,   0,   0,   4, 180, 
+      5,   0,   0,   0, 132, 180, 
       0,   0,   0,   0,   0,   0, 
       2,   0,   0,   0,   0,   0, 
       0,   0,   3,   0,   0,   0, 
       1,   0,   0,   0,   5,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,  26,   0, 
       0,   0,  26,   0,   0,   0, 
       0,   0,   0,   0,  99,  98, 
@@ -10135,1071 +10142,1093 @@ const BYTE d2deffect[] =
       0,  12,   3,   0,   0,  83, 
      86,  95,  80, 111, 115, 105, 
     116, 105, 111, 110,   0,  84, 
      69,  88,  67,  79,  79,  82, 
      68,   0, 171, 171, 171,  89, 
     161,   0,   0,   0,   0,   0, 
       0,   1,   0,   0,   0,   2, 
       0,   0,   0,   0,   0,   0, 
-      0,  76,   4,   0,   0,  68, 
-     88,  66,  67, 126,  10, 214, 
-     10, 153,   0, 166,  80, 219, 
-     54, 158, 130, 209,  70,  79, 
-    109,   1,   0,   0,   0,  76, 
+      0, 152,   4,   0,   0,  68, 
+     88,  66,  67, 148, 186, 116, 
+    120, 127,  19, 219,  53, 247, 
+     72,  52, 174,  16, 164, 114, 
+    104,   1,   0,   0,   0, 152, 
       4,   0,   0,   6,   0,   0, 
-      0,  56,   0,   0,   0, 204, 
-      0,   0,   0, 148,   1,   0, 
-      0,  16,   2,   0,   0, 144, 
-      3,   0,   0,   0,   4,   0, 
-      0,  65, 111, 110,  57, 140, 
-      0,   0,   0, 140,   0,   0, 
-      0,   0,   2, 255, 255,  88, 
+      0,  56,   0,   0,   0,   4, 
+      1,   0,   0, 224,   1,   0, 
+      0,  92,   2,   0,   0, 220, 
+      3,   0,   0,  76,   4,   0, 
+      0,  65, 111, 110,  57, 196, 
+      0,   0,   0, 196,   0,   0, 
+      0,   0,   2, 255, 255, 144, 
       0,   0,   0,  52,   0,   0, 
       0,   1,   0,  40,   0,   0, 
       0,  52,   0,   0,   0,  52, 
       0,   1,   0,  36,   0,   0, 
       0,  52,   0,   0,   0,   0, 
       0,   0,   0,   3,   0,   1, 
       0,   0,   0,   0,   0,   0, 
-      0,   1,   2, 255, 255,  31, 
+      0,   1,   2, 255, 255,  81, 
+      0,   0,   5,   1,   0,  15, 
+    160,   0,   0, 128,  63,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,  31, 
       0,   0,   2,   0,   0,   0, 
     128,   0,   0,  15, 176,  31, 
       0,   0,   2,   0,   0,   0, 
     144,   0,   8,  15, 160,   1, 
-      0,   0,   2,   0,   8,  15, 
-    128,   0,   0, 228, 160,  66, 
-      0,   0,   3,   0,   0,  15, 
-    128,   0,   0, 228, 176,   0, 
-      8, 228, 160,   5,   0,   0, 
-      3,   0,   0,  15, 128,   0, 
-      0,  70, 128,   0,   0, 255, 
-    160,   1,   0,   0,   2,   1, 
+      0,   0,   2,   0,   0,   7, 
+    128,   0,   0, 228, 160,   4, 
+      0,   0,   4,   0,   0,  15, 
+    128,   0,   0,  36, 128,   1, 
+      0,  64, 160,   1,   0,  21, 
+    160,   1,   0,   0,   2,   0, 
       8,  15, 128,   0,   0, 228, 
-    128, 255, 255,   0,   0,  83, 
-     72,  68,  82, 192,   0,   0, 
-      0,  64,   0,   0,   0,  48, 
-      0,   0,   0,  89,   0,   0, 
-      4,  70, 142,  32,   0,   0, 
-      0,   0,   0,   4,   0,   0, 
-      0,  90,   0,   0,   3,   0, 
-     96,  16,   0,   0,   0,   0, 
-      0,  88,  24,   0,   4,   0, 
-    112,  16,   0,   0,   0,   0, 
-      0,  85,  85,   0,   0,  98, 
-     16,   0,   3,  50,  16,  16, 
-      0,   1,   0,   0,   0, 101, 
-      0,   0,   3, 242,  32,  16, 
-      0,   0,   0,   0,   0, 101, 
-      0,   0,   3, 242,  32,  16, 
-      0,   1,   0,   0,   0, 104, 
-      0,   0,   2,   1,   0,   0, 
-      0,  54,   0,   0,   6, 242, 
+    128,  66,   0,   0,   3,   0, 
+      0,  15, 128,   0,   0, 228, 
+    176,   0,   8, 228, 160,   5, 
+      0,   0,   3,   0,   0,  15, 
+    128,   0,   0,  70, 128,   0, 
+      0, 255, 160,   1,   0,   0, 
+      2,   1,   8,  15, 128,   0, 
+      0, 228, 128, 255, 255,   0, 
+      0,  83,  72,  68,  82, 212, 
+      0,   0,   0,  64,   0,   0, 
+      0,  53,   0,   0,   0,  89, 
+      0,   0,   4,  70, 142,  32, 
+      0,   0,   0,   0,   0,   4, 
+      0,   0,   0,  90,   0,   0, 
+      3,   0,  96,  16,   0,   0, 
+      0,   0,   0,  88,  24,   0, 
+      4,   0, 112,  16,   0,   0, 
+      0,   0,   0,  85,  85,   0, 
+      0,  98,  16,   0,   3,  50, 
+     16,  16,   0,   1,   0,   0, 
+      0, 101,   0,   0,   3, 242, 
      32,  16,   0,   0,   0,   0, 
-      0,  70, 142,  32,   0,   0, 
+      0, 101,   0,   0,   3, 242, 
+     32,  16,   0,   1,   0,   0, 
+      0, 104,   0,   0,   2,   1, 
+      0,   0,   0,  54,   0,   0, 
+      6, 114,  32,  16,   0,   0, 
+      0,   0,   0,  70, 130,  32, 
+      0,   0,   0,   0,   0,   3, 
+      0,   0,   0,  54,   0,   0, 
+      5, 130,  32,  16,   0,   0, 
+      0,   0,   0,   1,  64,   0, 
+      0,   0,   0, 128,  63,  69, 
+      0,   0,   9, 242,   0,  16, 
+      0,   0,   0,   0,   0,  70, 
+     16,  16,   0,   1,   0,   0, 
+      0,  70, 126,  16,   0,   0, 
+      0,   0,   0,   0,  96,  16, 
+      0,   0,   0,   0,   0,  56, 
+      0,   0,   8, 242,  32,  16, 
+      0,   1,   0,   0,   0, 102, 
+      4,  16,   0,   0,   0,   0, 
+      0, 246, 143,  32,   0,   0, 
       0,   0,   0,   3,   0,   0, 
-      0,  69,   0,   0,   9, 242, 
-      0,  16,   0,   0,   0,   0, 
-      0,  70,  16,  16,   0,   1, 
-      0,   0,   0,  70, 126,  16, 
-      0,   0,   0,   0,   0,   0, 
-     96,  16,   0,   0,   0,   0, 
-      0,  56,   0,   0,   8, 242, 
-     32,  16,   0,   1,   0,   0, 
-      0, 102,   4,  16,   0,   0, 
-      0,   0,   0, 246, 143,  32, 
-      0,   0,   0,   0,   0,   3, 
-      0,   0,   0,  62,   0,   0, 
-      1,  83,  84,  65,  84, 116, 
-      0,   0,   0,   4,   0,   0, 
-      0,   1,   0,   0,   0,   0, 
-      0,   0,   0,   3,   0,   0, 
-      0,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,  62,   0,   0,   1,  83, 
+     84,  65,  84, 116,   0,   0, 
+      0,   5,   0,   0,   0,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   3,   0,   0,   0,   1, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   1, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   2, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  82,  68,  69, 
+     70, 120,   1,   0,   0,   1, 
+      0,   0,   0, 144,   0,   0, 
+      0,   3,   0,   0,   0,  28, 
+      0,   0,   0,   0,   4, 255, 
+    255,   0,   1,   0,   0,  70, 
+      1,   0,   0, 124,   0,   0, 
+      0,   3,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   1,   0,   0, 
+      0,   0,   0,   0,   0, 133, 
+      0,   0,   0,   2,   0,   0, 
+      0,   5,   0,   0,   0,   4, 
+      0,   0,   0, 255, 255, 255, 
+    255,   0,   0,   0,   0,   1, 
+      0,   0,   0,  12,   0,   0, 
+      0, 137,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   1,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,  82, 
-     68,  69,  70, 120,   1,   0, 
-      0,   1,   0,   0,   0, 144, 
-      0,   0,   0,   3,   0,   0, 
-      0,  28,   0,   0,   0,   0, 
-      4, 255, 255,   0,   1,   0, 
-      0,  70,   1,   0,   0, 124, 
-      0,   0,   0,   3,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   1, 
-      0,   0,   0,   0,   0,   0, 
-      0, 133,   0,   0,   0,   2, 
-      0,   0,   0,   5,   0,   0, 
-      0,   4,   0,   0,   0, 255, 
-    255, 255, 255,   0,   0,   0, 
-      0,   1,   0,   0,   0,  12, 
-      0,   0,   0, 137,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   1,   0,   0, 
-      0,   0,   0,   0,   0, 115, 
-     83,  97, 109, 112, 108, 101, 
-    114,   0, 116, 101, 120,   0, 
-     99,  98,  48,   0, 171, 171, 
-    171, 137,   0,   0,   0,   4, 
-      0,   0,   0, 168,   0,   0, 
-      0,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   8,   1,   0,   0,   0, 
-      0,   0,   0,  16,   0,   0, 
-      0,   0,   0,   0,   0,  20, 
-      1,   0,   0,   0,   0,   0, 
-      0,  36,   1,   0,   0,  16, 
-      0,   0,   0,  16,   0,   0, 
-      0,   0,   0,   0,   0,  20, 
-      1,   0,   0,   0,   0,   0, 
-      0,  46,   1,   0,   0,  32, 
-      0,   0,   0,  16,   0,   0, 
-      0,   0,   0,   0,   0,  20, 
+      0,   0,   0, 115,  83,  97, 
+    109, 112, 108, 101, 114,   0, 
+    116, 101, 120,   0,  99,  98, 
+     48,   0, 171, 171, 171, 137, 
+      0,   0,   0,   4,   0,   0, 
+      0, 168,   0,   0,   0,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
       1,   0,   0,   0,   0,   0, 
-      0,  60,   1,   0,   0,  48, 
-      0,   0,   0,  16,   0,   0, 
-      0,   2,   0,   0,   0,  20, 
-      1,   0,   0,   0,   0,   0, 
-      0,  81, 117,  97, 100,  68, 
-    101, 115,  99,   0, 171, 171, 
-    171,   1,   0,   3,   0,   1, 
-      0,   4,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,  84, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,   0,  20,   1,   0, 
+      0,   0,   0,   0,   0,  36, 
+      1,   0,   0,  16,   0,   0, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,   0,  20,   1,   0, 
+      0,   0,   0,   0,   0,  46, 
+      1,   0,   0,  32,   0,   0, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,   0,  20,   1,   0, 
+      0,   0,   0,   0,   0,  60, 
+      1,   0,   0,  48,   0,   0, 
+      0,  16,   0,   0,   0,   2, 
+      0,   0,   0,  20,   1,   0, 
+      0,   0,   0,   0,   0,  81, 
+    117,  97, 100,  68, 101, 115, 
+     99,   0, 171, 171, 171,   1, 
+      0,   3,   0,   1,   0,   4, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  84, 101, 120, 
+     67, 111, 111, 114, 100, 115, 
+      0,  77,  97, 115, 107,  84, 
     101, 120,  67, 111, 111, 114, 
-    100, 115,   0,  77,  97, 115, 
-    107,  84, 101, 120,  67, 111, 
-    111, 114, 100, 115,   0,  84, 
-    101, 120, 116,  67, 111, 108, 
-    111, 114,   0,  77, 105,  99, 
-    114, 111, 115, 111, 102, 116, 
-     32,  40,  82,  41,  32,  72, 
-     76,  83,  76,  32,  83, 104, 
-     97, 100, 101, 114,  32,  67, 
-    111, 109, 112, 105, 108, 101, 
-    114,  32,  57,  46,  50,  57, 
-     46,  57,  53,  50,  46,  51, 
-     49,  49,  49,   0, 171,  73, 
-     83,  71,  78, 104,   0,   0, 
-      0,   3,   0,   0,   0,   8, 
-      0,   0,   0,  80,   0,   0, 
-      0,   0,   0,   0,   0,   1, 
-      0,   0,   0,   3,   0,   0, 
-      0,   0,   0,   0,   0,  15, 
-      0,   0,   0,  92,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   3,   0,   0, 
-      0,   1,   0,   0,   0,   3, 
-      3,   0,   0,  92,   0,   0, 
-      0,   1,   0,   0,   0,   0, 
-      0,   0,   0,   3,   0,   0, 
-      0,   1,   0,   0,   0,  12, 
-      0,   0,   0,  83,  86,  95, 
-     80, 111, 115, 105, 116, 105, 
-    111, 110,   0,  84,  69,  88, 
-     67,  79,  79,  82,  68,   0, 
-    171, 171, 171,  79,  83,  71, 
-     78,  68,   0,   0,   0,   2, 
+    100, 115,   0,  84, 101, 120, 
+    116,  67, 111, 108, 111, 114, 
+      0,  77, 105,  99, 114, 111, 
+    115, 111, 102, 116,  32,  40, 
+     82,  41,  32,  72,  76,  83, 
+     76,  32,  83, 104,  97, 100, 
+    101, 114,  32,  67, 111, 109, 
+    112, 105, 108, 101, 114,  32, 
+     57,  46,  50,  57,  46,  57, 
+     53,  50,  46,  51,  49,  49, 
+     49,   0, 171,  73,  83,  71, 
+     78, 104,   0,   0,   0,   3, 
       0,   0,   0,   8,   0,   0, 
-      0,  56,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,  80,   0,   0,   0,   0, 
+      0,   0,   0,   1,   0,   0, 
       0,   3,   0,   0,   0,   0, 
       0,   0,   0,  15,   0,   0, 
-      0,  56,   0,   0,   0,   1, 
+      0,  92,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   3,   0,   0,   0,   1, 
+      0,   0,   0,   3,   3,   0, 
+      0,  92,   0,   0,   0,   1, 
       0,   0,   0,   0,   0,   0, 
       0,   3,   0,   0,   0,   1, 
-      0,   0,   0,  15,   0,   0, 
-      0,  83,  86,  95,  84,  97, 
-    114, 103, 101, 116,   0, 171, 
-    171, 181, 165,   0,   0,   0, 
-      0,   0,   0,  77,  97, 115, 
-    107, 101, 100,   0,   4,   0, 
+      0,   0,   0,  12,   0,   0, 
+      0,  83,  86,  95,  80, 111, 
+    115, 105, 116, 105, 111, 110, 
+      0,  84,  69,  88,  67,  79, 
+     79,  82,  68,   0, 171, 171, 
+    171,  79,  83,  71,  78,  68, 
+      0,   0,   0,   2,   0,   0, 
+      0,   8,   0,   0,   0,  56, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   3, 
+      0,   0,   0,   0,   0,   0, 
+      0,  15,   0,   0,   0,  56, 
+      0,   0,   0,   1,   0,   0, 
+      0,   0,   0,   0,   0,   3, 
+      0,   0,   0,   1,   0,   0, 
+      0,  15,   0,   0,   0,  83, 
+     86,  95,  84,  97, 114, 103, 
+    101, 116,   0, 171, 171, 181, 
+    165,   0,   0,   0,   0,   0, 
+      0,  77,  97, 115, 107, 101, 
+    100,   0,   4,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-    255, 255, 255, 255,  68,   4, 
-      0,   0,  68,  88,  66,  67, 
-     26, 214, 157, 140, 185,  91, 
-    182, 211, 177, 171, 114, 225, 
-    174, 107,  56, 117,   1,   0, 
-      0,   0,  68,   4,   0,   0, 
-      6,   0,   0,   0,  56,   0, 
-      0,   0, 248,   0,   0,   0, 
-    244,   1,   0,   0, 112,   2, 
-      0,   0, 160,   3,   0,   0, 
-    212,   3,   0,   0,  65, 111, 
-    110,  57, 184,   0,   0,   0, 
-    184,   0,   0,   0,   0,   2, 
-    254, 255, 132,   0,   0,   0, 
-     52,   0,   0,   0,   1,   0, 
-     36,   0,   0,   0,  48,   0, 
+      3,   0,   0,   0, 255, 255, 
+    255, 255,  68,   4,   0,   0, 
+     68,  88,  66,  67,  26, 214, 
+    157, 140, 185,  91, 182, 211, 
+    177, 171, 114, 225, 174, 107, 
+     56, 117,   1,   0,   0,   0, 
+     68,   4,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    248,   0,   0,   0, 244,   1, 
+      0,   0, 112,   2,   0,   0, 
+    160,   3,   0,   0, 212,   3, 
+      0,   0,  65, 111, 110,  57, 
+    184,   0,   0,   0, 184,   0, 
+      0,   0,   0,   2, 254, 255, 
+    132,   0,   0,   0,  52,   0, 
+      0,   0,   1,   0,  36,   0, 
       0,   0,  48,   0,   0,   0, 
-     36,   0,   1,   0,  48,   0, 
-      0,   0,   0,   0,   3,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   2, 
-    254, 255,  81,   0,   0,   5, 
-      4,   0,  15, 160,   0,   0, 
-      0,   0,   0,   0, 128,  63, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  31,   0,   0,   2, 
-      5,   0,   0, 128,   0,   0, 
-     15, 144,   4,   0,   0,   4, 
-      0,   0,   3, 224,   0,   0, 
-    228, 144,   2,   0, 238, 160, 
-      2,   0, 228, 160,   4,   0, 
-      0,   4,   0,   0,  12, 224, 
-      0,   0,  20, 144,   3,   0, 
-    180, 160,   3,   0,  20, 160, 
+     48,   0,   0,   0,  36,   0, 
+      1,   0,  48,   0,   0,   0, 
+      0,   0,   3,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   2, 254, 255, 
+     81,   0,   0,   5,   4,   0, 
+     15, 160,   0,   0,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     31,   0,   0,   2,   5,   0, 
+      0, 128,   0,   0,  15, 144, 
       4,   0,   0,   4,   0,   0, 
-      3, 128,   0,   0, 228, 144, 
-      1,   0, 238, 160,   1,   0, 
-    228, 160,   2,   0,   0,   3, 
-      0,   0,   3, 192,   0,   0, 
-    228, 128,   0,   0, 228, 160, 
-      1,   0,   0,   2,   0,   0, 
-     12, 192,   4,   0,  68, 160, 
-    255, 255,   0,   0,  83,  72, 
-     68,  82, 244,   0,   0,   0, 
-     64,   0,   1,   0,  61,   0, 
-      0,   0,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-     95,   0,   0,   3,  50,  16, 
-     16,   0,   0,   0,   0,   0, 
-    103,   0,   0,   4, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3,  50,  32,  16,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 194,  32,  16,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  11,  50,  32,  16,   0, 
-      0,   0,   0,   0,  70,  16, 
-     16,   0,   0,   0,   0,   0, 
-    230, 138,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     70, 128,  32,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     54,   0,   0,   8, 194,  32, 
-     16,   0,   0,   0,   0,   0, 
-      2,  64,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    128,  63,  50,   0,   0,  11, 
+      3, 224,   0,   0, 228, 144, 
+      2,   0, 238, 160,   2,   0, 
+    228, 160,   4,   0,   0,   4, 
+      0,   0,  12, 224,   0,   0, 
+     20, 144,   3,   0, 180, 160, 
+      3,   0,  20, 160,   4,   0, 
+      0,   4,   0,   0,   3, 128, 
+      0,   0, 228, 144,   1,   0, 
+    238, 160,   1,   0, 228, 160, 
+      2,   0,   0,   3,   0,   0, 
+      3, 192,   0,   0, 228, 128, 
+      0,   0, 228, 160,   1,   0, 
+      0,   2,   0,   0,  12, 192, 
+      4,   0,  68, 160, 255, 255, 
+      0,   0,  83,  72,  68,  82, 
+    244,   0,   0,   0,  64,   0, 
+      1,   0,  61,   0,   0,   0, 
+     89,   0,   0,   4,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  95,   0, 
+      0,   3,  50,  16,  16,   0, 
+      0,   0,   0,   0, 103,   0, 
+      0,   4, 242,  32,  16,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
      50,  32,  16,   0,   1,   0, 
+      0,   0, 101,   0,   0,   3, 
+    194,  32,  16,   0,   1,   0, 
+      0,   0,  50,   0,   0,  11, 
+     50,  32,  16,   0,   0,   0, 
       0,   0,  70,  16,  16,   0, 
       0,   0,   0,   0, 230, 138, 
      32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  70, 128, 
+      0,   0,   0,   0,  70, 128, 
      32,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  50,   0, 
-      0,  11, 194,  32,  16,   0, 
-      1,   0,   0,   0,   6,  20, 
-     16,   0,   0,   0,   0,   0, 
-    166, 142,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-      6, 132,  32,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     62,   0,   0,   1,  83,  84, 
-     65,  84, 116,   0,   0,   0, 
-      5,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   8, 194,  32,  16,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 128,  63, 
+     50,   0,   0,  11,  50,  32, 
+     16,   0,   1,   0,   0,   0, 
+     70,  16,  16,   0,   0,   0, 
+      0,   0, 230, 138,  32,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,  70, 128,  32,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  82,  68,  69,  70, 
-     40,   1,   0,   0,   1,   0, 
-      0,   0,  64,   0,   0,   0, 
-      1,   0,   0,   0,  28,   0, 
-      0,   0,   0,   4, 254, 255, 
-      0,   1,   0,   0, 246,   0, 
-      0,   0,  60,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,  99,  98, 
-     48,   0,  60,   0,   0,   0, 
-      4,   0,   0,   0,  88,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 184,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    196,   0,   0,   0,   0,   0, 
-      0,   0, 212,   0,   0,   0, 
-     16,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    196,   0,   0,   0,   0,   0, 
-      0,   0, 222,   0,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   2,   0,   0,   0, 
-    196,   0,   0,   0,   0,   0, 
-      0,   0, 236,   0,   0,   0, 
-     48,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    196,   0,   0,   0,   0,   0, 
-      0,   0,  81, 117,  97, 100, 
-     68, 101, 115,  99,   0, 171, 
-    171, 171,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,  50,   0,   0,  11, 
+    194,  32,  16,   0,   1,   0, 
+      0,   0,   6,  20,  16,   0, 
+      0,   0,   0,   0, 166, 142, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   6, 132, 
+     32,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,   5,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     82,  68,  69,  70,  40,   1, 
+      0,   0,   1,   0,   0,   0, 
+     64,   0,   0,   0,   1,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 254, 255,   0,   1, 
+      0,   0, 246,   0,   0,   0, 
+     60,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,  99,  98,  48,   0, 
+     60,   0,   0,   0,   4,   0, 
+      0,   0,  88,   0,   0,   0, 
+     64,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    184,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    212,   0,   0,   0,  16,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    222,   0,   0,   0,  32,   0, 
+      0,   0,  16,   0,   0,   0, 
+      2,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+    236,   0,   0,   0,  48,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0, 196,   0, 
+      0,   0,   0,   0,   0,   0, 
+     81, 117,  97, 100,  68, 101, 
+    115,  99,   0, 171, 171, 171, 
+      1,   0,   3,   0,   1,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  84, 101, 
+    120,  67, 111, 111, 114, 100, 
+    115,   0,  77,  97, 115, 107, 
      84, 101, 120,  67, 111, 111, 
-    114, 100, 115,   0,  77,  97, 
-    115, 107,  84, 101, 120,  67, 
-    111, 111, 114, 100, 115,   0, 
-     84, 101, 120, 116,  67, 111, 
-    108, 111, 114,   0,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  40,  82,  41,  32, 
-     72,  76,  83,  76,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
-     67, 111, 109, 112, 105, 108, 
-    101, 114,  32,  57,  46,  50, 
-     57,  46,  57,  53,  50,  46, 
-     51,  49,  49,  49,   0, 171, 
-     73,  83,  71,  78,  44,   0, 
-      0,   0,   1,   0,   0,   0, 
-      8,   0,   0,   0,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   3,   0,   0,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78, 104,   0,   0,   0, 
-      3,   0,   0,   0,   8,   0, 
-      0,   0,  80,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  92,   0,   0,   0, 
+    114, 100, 115,   0,  84, 101, 
+    120, 116,  67, 111, 108, 111, 
+    114,   0,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  57,  46,  50,  57,  46, 
+     57,  53,  50,  46,  51,  49, 
+     49,  49,   0, 171,  73,  83, 
+     71,  78,  44,   0,   0,   0, 
+      1,   0,   0,   0,   8,   0, 
+      0,   0,  32,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,   3,  12, 
-      0,   0,  92,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,  12,   3, 
-      0,   0,  83,  86,  95,  80, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0,  84,  69,  88,  67, 
-     79,  79,  82,  68,   0, 171, 
-    171, 171,  68, 170,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,  88,   5, 
-      0,   0,  68,  88,  66,  67, 
-     80,  96, 162, 163, 102, 118, 
-     55,  76, 239,  60, 125, 214, 
-      9,   4,   5, 138,   1,   0, 
-      0,   0,  88,   5,   0,   0, 
-      6,   0,   0,   0,  56,   0, 
-      0,   0,  24,   1,   0,   0, 
-     80,   2,   0,   0, 204,   2, 
-      0,   0, 156,   4,   0,   0, 
-     12,   5,   0,   0,  65, 111, 
-    110,  57, 216,   0,   0,   0, 
-    216,   0,   0,   0,   0,   2, 
-    255, 255, 160,   0,   0,   0, 
-     56,   0,   0,   0,   1,   0, 
-     44,   0,   0,   0,  56,   0, 
-      0,   0,  56,   0,   2,   0, 
-     36,   0,   0,   0,  56,   0, 
-      0,   0,   0,   0,   1,   1, 
-      1,   0,   0,   0,   3,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   1,   2, 255, 255, 
-     31,   0,   0,   2,   0,   0, 
-      0, 128,   0,   0,  15, 176, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   0,   8,  15, 160, 
-     31,   0,   0,   2,   0,   0, 
-      0, 144,   1,   8,  15, 160, 
+      0,   0,   0,   0,   7,   3, 
+      0,   0,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0, 171, 
+    171, 171,  79,  83,  71,  78, 
+    104,   0,   0,   0,   3,   0, 
+      0,   0,   8,   0,   0,   0, 
+     80,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     92,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,  12,   0,   0, 
+     92,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  12,   3,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171, 
+    144, 170,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0, 140,   5,   0,   0, 
+     68,  88,  66,  67, 159,  12, 
+    221,  15, 173, 168,  77,  11, 
+    192, 162,  71,  74, 135,  58, 
+    147, 245,   1,   0,   0,   0, 
+    140,   5,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     64,   1,   0,   0, 132,   2, 
+      0,   0,   0,   3,   0,   0, 
+    208,   4,   0,   0,  64,   5, 
+      0,   0,  65, 111, 110,  57, 
+      0,   1,   0,   0,   0,   1, 
+      0,   0,   0,   2, 255, 255, 
+    200,   0,   0,   0,  56,   0, 
+      0,   0,   1,   0,  44,   0, 
+      0,   0,  56,   0,   0,   0, 
+     56,   0,   2,   0,  36,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   1,   1,   1,   0, 
+      0,   0,   3,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   2, 255, 255,  81,   0, 
+      0,   5,   1,   0,  15, 160, 
+      0,   0, 128,  63,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  31,   0, 
+      0,   2,   0,   0,   0, 128, 
+      0,   0,  15, 176,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      0,   8,  15, 160,  31,   0, 
+      0,   2,   0,   0,   0, 144, 
+      1,   8,  15, 160,   1,   0, 
+      0,   2,   0,   0,   7, 128, 
+      0,   0, 228, 160,   4,   0, 
+      0,   4,   0,   0,  15, 128, 
+      0,   0,  36, 128,   1,   0, 
+     64, 160,   1,   0,  21, 160, 
+      1,   0,   0,   2,   0,   8, 
+     15, 128,   0,   0, 228, 128, 
       1,   0,   0,   2,   0,   0, 
       3, 128,   0,   0, 235, 176, 
      66,   0,   0,   3,   1,   0, 
      15, 128,   0,   0, 228, 176, 
       0,   8, 228, 160,  66,   0, 
       0,   3,   0,   0,  15, 128, 
       0,   0, 228, 128,   1,   8, 
     228, 160,   5,   0,   0,   3, 
-      2,   0,  15, 128,   0,   0, 
-    255, 128,   0,   0, 228, 160, 
-      1,   0,   0,   2,   0,   8, 
-     15, 128,   2,   0, 228, 128, 
-      5,   0,   0,   3,   1,   0, 
-     15, 128,   1,   0,  70, 128, 
-      0,   0, 255, 160,   5,   0, 
-      0,   3,   0,   0,  15, 128, 
-      0,   0, 255, 128,   1,   0, 
-    228, 128,   1,   0,   0,   2, 
-      1,   8,  15, 128,   0,   0, 
-    228, 128, 255, 255,   0,   0, 
-     83,  72,  68,  82,  48,   1, 
-      0,   0,  64,   0,   0,   0, 
-     76,   0,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      0,   0,   0,   0,   4,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   1,   0, 
+      1,   0,  15, 128,   1,   0, 
+     70, 128,   0,   0, 255, 160, 
+      5,   0,   0,   3,   0,   0, 
+     15, 128,   0,   0, 255, 128, 
+      1,   0, 228, 128,   1,   0, 
+      0,   2,   1,   8,  15, 128, 
+      0,   0, 228, 128, 255, 255, 
+      0,   0,  83,  72,  68,  82, 
+     60,   1,   0,   0,  64,   0, 
+      0,   0,  79,   0,   0,   0, 
+     89,   0,   0,   4,  70, 142, 
+     32,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,  90,   0, 
+      0,   3,   0,  96,  16,   0, 
+      0,   0,   0,   0,  90,   0, 
+      0,   3,   0,  96,  16,   0, 
+      1,   0,   0,   0,  88,  24, 
+      0,   4,   0, 112,  16,   0, 
+      0,   0,   0,   0,  85,  85, 
       0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
+      0, 112,  16,   0,   1,   0, 
       0,   0,  85,  85,   0,   0, 
-     88,  24,   0,   4,   0, 112, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     98,  16,   0,   3, 194,  16, 
+     16,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
      16,   0,   1,   0,   0,   0, 
-     85,  85,   0,   0,  98,  16, 
-      0,   3,  50,  16,  16,   0, 
-      1,   0,   0,   0,  98,  16, 
-      0,   3, 194,  16,  16,   0, 
-      1,   0,   0,   0, 101,   0, 
-      0,   3, 242,  32,  16,   0, 
-      0,   0,   0,   0, 101,   0, 
-      0,   3, 242,  32,  16,   0, 
-      1,   0,   0,   0, 104,   0, 
-      0,   2,   2,   0,   0,   0, 
+    104,   0,   0,   2,   2,   0, 
+      0,   0,  54,   0,   0,   6, 
+    114,  32,  16,   0,   0,   0, 
+      0,   0,  70, 130,  32,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,  32,  16,   0,   0,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0, 128,  63,  69,   0, 
+      0,   9, 242,   0,  16,   0, 
+      0,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     70, 126,  16,   0,   0,   0, 
+      0,   0,   0,  96,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   8, 242,   0,  16,   0, 
+      0,   0,   0,   0, 102,   4, 
+     16,   0,   0,   0,   0,   0, 
+    246, 143,  32,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
      69,   0,   0,   9, 242,   0, 
-     16,   0,   0,   0,   0,   0, 
+     16,   0,   1,   0,   0,   0, 
     230,  26,  16,   0,   1,   0, 
       0,   0,  70, 126,  16,   0, 
       1,   0,   0,   0,   0,  96, 
      16,   0,   1,   0,   0,   0, 
-     56,   0,   0,   8, 242,  32, 
-     16,   0,   0,   0,   0,   0, 
-    246,  15,  16,   0,   0,   0, 
-      0,   0,  70, 142,  32,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,  69,   0,   0,   9, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0,  70,  16,  16,   0, 
-      1,   0,   0,   0,  70, 126, 
-     16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   8, 
-    242,   0,  16,   0,   1,   0, 
-      0,   0, 102,   4,  16,   0, 
-      1,   0,   0,   0, 246, 143, 
-     32,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  56,   0, 
-      0,   7, 242,  32,  16,   0, 
-      1,   0,   0,   0, 246,  15, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   1,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 116,   0, 
-      0,   0,   6,   0,   0,   0, 
+     56,   0,   0,   7, 242,  32, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   0,   0, 
+      0,   0, 246,  15,  16,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    116,   0,   0,   0,   7,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       2,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  82,  68, 
-     69,  70, 200,   1,   0,   0, 
-      1,   0,   0,   0, 224,   0, 
-      0,   0,   5,   0,   0,   0, 
-     28,   0,   0,   0,   0,   4, 
-    255, 255,   0,   1,   0,   0, 
-    150,   1,   0,   0, 188,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    197,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0, 210,   0,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     12,   0,   0,   0, 214,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   0,   0, 
-      5,   0,   0,   0,   4,   0, 
-      0,   0, 255, 255, 255, 255, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  12,   0,   0,   0, 
-    219,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     82,  68,  69,  70, 200,   1, 
+      0,   0,   1,   0,   0,   0, 
+    224,   0,   0,   0,   5,   0, 
+      0,   0,  28,   0,   0,   0, 
+      0,   4, 255, 255,   0,   1, 
+      0,   0, 150,   1,   0,   0, 
+    188,   0,   0,   0,   3,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
-      0,   0, 115,  83,  97, 109, 
-    112, 108, 101, 114,   0, 115, 
-     77,  97, 115, 107,  83,  97, 
-    109, 112, 108, 101, 114,   0, 
-    116, 101, 120,   0, 109,  97, 
-    115, 107,   0,  99,  98,  48, 
-      0, 171, 219,   0,   0,   0, 
-      4,   0,   0,   0, 248,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  88,   1,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   1,   0,   0,   0,   0, 
-      0,   0, 116,   1,   0,   0, 
-     16,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   1,   0,   0,   0,   0, 
-      0,   0, 126,   1,   0,   0, 
-     32,   0,   0,   0,  16,   0, 
-      0,   0,   0,   0,   0,   0, 
-    100,   1,   0,   0,   0,   0, 
-      0,   0, 140,   1,   0,   0, 
-     48,   0,   0,   0,  16,   0, 
+      0,   0, 197,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 210,   0, 
       0,   0,   2,   0,   0,   0, 
-    100,   1,   0,   0,   0,   0, 
-      0,   0,  81, 117,  97, 100, 
-     68, 101, 115,  99,   0, 171, 
-    171, 171,   1,   0,   3,   0, 
-      1,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     84, 101, 120,  67, 111, 111, 
-    114, 100, 115,   0,  77,  97, 
-    115, 107,  84, 101, 120,  67, 
+      5,   0,   0,   0,   4,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  12,   0,   0,   0, 
+    214,   0,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   1,   0,   0,   0, 
+      1,   0,   0,   0,  12,   0, 
+      0,   0, 219,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 115,  83, 
+     97, 109, 112, 108, 101, 114, 
+      0, 115,  77,  97, 115, 107, 
+     83,  97, 109, 112, 108, 101, 
+    114,   0, 116, 101, 120,   0, 
+    109,  97, 115, 107,   0,  99, 
+     98,  48,   0, 171, 219,   0, 
+      0,   0,   4,   0,   0,   0, 
+    248,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  88,   1, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 100,   1,   0,   0, 
+      0,   0,   0,   0, 116,   1, 
+      0,   0,  16,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 100,   1,   0,   0, 
+      0,   0,   0,   0, 126,   1, 
+      0,   0,  32,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0, 100,   1,   0,   0, 
+      0,   0,   0,   0, 140,   1, 
+      0,   0,  48,   0,   0,   0, 
+     16,   0,   0,   0,   2,   0, 
+      0,   0, 100,   1,   0,   0, 
+      0,   0,   0,   0,  81, 117, 
+     97, 100,  68, 101, 115,  99, 
+      0, 171, 171, 171,   1,   0, 
+      3,   0,   1,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  84, 101, 120,  67, 
     111, 111, 114, 100, 115,   0, 
-     84, 101, 120, 116,  67, 111, 
-    108, 111, 114,   0,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  40,  82,  41,  32, 
-     72,  76,  83,  76,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
-     67, 111, 109, 112, 105, 108, 
-    101, 114,  32,  57,  46,  50, 
-     57,  46,  57,  53,  50,  46, 
-     51,  49,  49,  49,   0, 171, 
-     73,  83,  71,  78, 104,   0, 
-      0,   0,   3,   0,   0,   0, 
-      8,   0,   0,   0,  80,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   0,   0,   0,  92,   0, 
+     77,  97, 115, 107,  84, 101, 
+    120,  67, 111, 111, 114, 100, 
+    115,   0,  84, 101, 120, 116, 
+     67, 111, 108, 111, 114,   0, 
+     77, 105,  99, 114, 111, 115, 
+    111, 102, 116,  32,  40,  82, 
+     41,  32,  72,  76,  83,  76, 
+     32,  83, 104,  97, 100, 101, 
+    114,  32,  67, 111, 109, 112, 
+    105, 108, 101, 114,  32,  57, 
+     46,  50,  57,  46,  57,  53, 
+     50,  46,  51,  49,  49,  49, 
+      0, 171,  73,  83,  71,  78, 
+    104,   0,   0,   0,   3,   0, 
+      0,   0,   8,   0,   0,   0, 
+     80,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     92,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   3,   3,   0,   0, 
+     92,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  12,  12,   0,   0, 
+     83,  86,  95,  80, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,   0, 171, 171, 171, 
+     79,  83,  71,  78,  68,   0, 
+      0,   0,   2,   0,   0,   0, 
+      8,   0,   0,   0,  56,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  56,   0, 
       0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   3,   0, 
       0,   0,   1,   0,   0,   0, 
-     12,  12,   0,   0,  83,  86, 
-     95,  80, 111, 115, 105, 116, 
-    105, 111, 110,   0,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-      0, 171, 171, 171,  79,  83, 
-     71,  78,  68,   0,   0,   0, 
-      2,   0,   0,   0,   8,   0, 
-      0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
-      0,   0,  56,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,  15,   0, 
-      0,   0,  83,  86,  95,  84, 
-     97, 114, 103, 101, 116,   0, 
-    171, 171, 160, 174,   0,   0, 
-      0,   0,   0,   0,   4,   0, 
-      0,   0,  64,   0,   0,   0, 
+     15,   0,   0,   0,  83,  86, 
+     95,  84,  97, 114, 103, 101, 
+    116,   0, 171, 171, 236, 174, 
+      0,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+     43,   0,   0,   0,  15,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  52,   0, 
+      0,   0,  15,   0,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  62,   0,   0,   0, 
+     15,   0,   0,   0,   0,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     76,   0,   0,   0,  15,   0, 
+      0,   0,   0,   0,   0,   0, 
+     48,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  86,   0, 
+      0,   0, 160,   0,   0,   0, 
       0,   0,   0,   0,   4,   0, 
       0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0,  43,   0, 
+      0,   0,   0,   0, 118,   0, 
+      0,   0,  90,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 131,   0,   0,   0, 
+     90,   0,   0,   0,   0,   0, 
+      0,   0,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    144,   0,   0,   0,  90,   0, 
+      0,   0,   0,   0,   0,   0, 
+     96,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 156,   0, 
       0,   0,  15,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  52,   0,   0,   0, 
-     15,   0,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     62,   0,   0,   0,  15,   0, 
-      0,   0,   0,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  76,   0, 
-      0,   0,  15,   0,   0,   0, 
-      0,   0,   0,   0,  48,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  86,   0,   0,   0, 
-    160,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0, 144,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 168,   0,   0,   0, 
+    112,   0,   0,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
     255, 255, 255, 255,   0,   0, 
-      0,   0, 118,   0,   0,   0, 
-     90,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    131,   0,   0,   0,  90,   0, 
+      0,   0, 209,   0,   0,   0, 
+    181,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     11,   1,   0,   0, 239,   0, 
       0,   0,   0,   0,   0,   0, 
      48,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 144,   0, 
-      0,   0,  90,   0,   0,   0, 
-      0,   0,   0,   0,  96,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 156,   0,   0,   0, 
-     15,   0,   0,   0,   0,   0, 
-      0,   0, 144,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    168,   0,   0,   0, 112,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-    209,   0,   0,   0, 181,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  11,   1, 
-      0,   0, 239,   0,   0,   0, 
-      0,   0,   0,   0,  48,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  57,   1,   0,   0, 
-     29,   1,   0,   0,   0,   0, 
-      0,   0,  64,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-     62,   1,   0,   0, 239,   0, 
-      0,   0,   0,   0,   0,   0, 
-     80,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 104,   1, 
+      0,   0,   0,   0,  57,   1, 
+      0,   0,  29,   1,   0,   0, 
+      0,   0,   0,   0,  64,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  62,   1,   0,   0, 
+    239,   0,   0,   0,   0,   0, 
+      0,   0,  80,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    104,   1,   0,   0,  76,   1, 
+      0,   0,   0,   0,   0,   0, 
+     88,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 106,   1, 
       0,   0,  76,   1,   0,   0, 
-      0,   0,   0,   0,  88,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 106,   1,   0,   0, 
+      0,   0,   0,   0,  92,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 114,   1,   0,   0, 
      76,   1,   0,   0,   0,   0, 
-      0,   0,  92,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    114,   1,   0,   0,  76,   1, 
-      0,   0,   0,   0,   0,   0, 
-     96,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 163,   1, 
-      0,   0, 135,   1,   0,   0, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-    167,   1,   0,   0, 135,   1, 
+      0,   0,  96,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    163,   1,   0,   0, 135,   1, 
       0,   0,   0,   0,   0,   0, 
     255, 255, 255, 255,   0,   0, 
-      0,   0, 213,   1,   0,   0, 
+      0,   0, 167,   1,   0,   0, 
+    135,   1,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 213,   1, 
+      0,   0, 185,   1,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   4,   0,   0,   0, 
+     45,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    222,   1,   0,   0,  55,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0, 163,   1, 
+      0,   0,  46,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 234,   1,   0,   0, 
+     47,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    246,   1,   0,   0,   0,   0, 
+      0,   0,   2,   2,   0,   0, 
     185,   1,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
       4,   0,   0,   0,  45,   0, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 222,   1, 
+      1,   0,   0,   0,  15,   2, 
       0,   0,  55,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       0,   0, 163,   1,   0,   0, 
      46,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    234,   1,   0,   0,  47,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 246,   1, 
-      0,   0,   0,   0,   0,   0, 
-      2,   2,   0,   0, 185,   1, 
+     27,   2,   0,   0,  47,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  39,   2, 
+      0,   0,   0,   0,   0,   0, 
+     51,   2,   0,   0, 185,   1, 
       0,   0,   0,   0,   0,   0, 
     255, 255, 255, 255,   4,   0, 
       0,   0,  45,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  15,   2,   0,   0, 
+      0,   0,  66,   2,   0,   0, 
      55,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   0,   0, 
     163,   1,   0,   0,  46,   0, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  27,   2, 
+      1,   0,   0,   0,  78,   2, 
       0,   0,  47,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  39,   2,   0,   0, 
-      0,   0,   0,   0,  51,   2, 
+      0,   0,  90,   2,   0,   0, 
+      0,   0,   0,   0, 102,   2, 
       0,   0, 185,   1,   0,   0, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   4,   0,   0,   0, 
      45,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-     66,   2,   0,   0,  55,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0, 163,   1, 
+    115,   2,   0,   0,  55,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0, 167,   1, 
       0,   0,  46,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  78,   2,   0,   0, 
+      0,   0, 127,   2,   0,   0, 
      47,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-     90,   2,   0,   0,   0,   0, 
-      0,   0, 102,   2,   0,   0, 
+    139,   2,   0,   0,   0,   0, 
+      0,   0, 151,   2,   0,   0, 
     185,   1,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
-      4,   0,   0,   0,  45,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 115,   2, 
+      5,   0,   0,   0,  45,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 166,   2, 
       0,   0,  55,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
-      0,   0, 167,   1,   0,   0, 
+      0,   0, 163,   1,   0,   0, 
      46,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    127,   2,   0,   0,  47,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 139,   2, 
-      0,   0,   0,   0,   0,   0, 
-    151,   2,   0,   0, 185,   1, 
-      0,   0,   0,   0,   0,   0, 
-    255, 255, 255, 255,   5,   0, 
-      0,   0,  45,   0,   0,   0, 
+    178,   2,   0,   0,  47,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 190,   2, 
+      0,   0,  52,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0, 166,   2,   0,   0, 
-     55,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-    163,   1,   0,   0,  46,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 178,   2, 
-      0,   0,  47,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0, 190,   2,   0,   0, 
-     52,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    202,   2,   0,   0,   0,   0, 
-      0,   0,  26,   3,   0,   0, 
-    254,   2,   0,   0,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-      2,   0,   0,   0,  19,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  38,   3, 
-      0,   0,  13,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  50,   3,   0,   0, 
-      0,   0,   0,   0, 101,   3, 
-      0,   0,  73,   3,   0,   0, 
+      0,   0, 202,   2,   0,   0, 
+      0,   0,   0,   0,  26,   3, 
+      0,   0, 254,   2,   0,   0, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   2,   0,   0,   0, 
-     37,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    114,   3,   0,   0,  44,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 126,   3, 
-      0,   0,   0,   0,   0,   0, 
-    138,   3,   0,   0,  73,   3, 
-      0,   0,   0,   0,   0,   0, 
-    255, 255, 255, 255,   8,   0, 
+     19,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     38,   3,   0,   0,  13,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  50,   3, 
+      0,   0,   0,   0,   0,   0, 
+    101,   3,   0,   0,  73,   3, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   2,   0, 
       0,   0,  37,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0, 151,   3,   0,   0, 
-     38,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    163,   3,   0,   0,  39,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 175,   3, 
-      0,   0,  40,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0, 187,   3,   0,   0, 
-     41,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    199,   3,   0,   0,  42,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 211,   3, 
-      0,   0,  43,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0, 223,   3,   0,   0, 
+      0,   0, 114,   3,   0,   0, 
      44,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    235,   3,   0,   0,   0,   0, 
-      0,   0, 247,   3,   0,   0, 
+    126,   3,   0,   0,   0,   0, 
+      0,   0, 138,   3,   0,   0, 
      73,   3,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
-      9,   0,   0,   0,  36,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   2,   4, 
-      0,   0,  37,   0,   0,   0, 
+      8,   0,   0,   0,  37,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 151,   3, 
+      0,   0,  38,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 163,   3,   0,   0, 
+     39,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    175,   3,   0,   0,  40,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 187,   3, 
+      0,   0,  41,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 199,   3,   0,   0, 
+     42,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    211,   3,   0,   0,  43,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 223,   3, 
+      0,   0,  44,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  14,   4,   0,   0, 
-     38,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     26,   4,   0,   0,  39,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  38,   4, 
-      0,   0,  40,   0,   0,   0, 
+      0,   0, 235,   3,   0,   0, 
+      0,   0,   0,   0, 247,   3, 
+      0,   0,  73,   3,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   9,   0,   0,   0, 
+     36,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      2,   4,   0,   0,  37,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  14,   4, 
+      0,   0,  38,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  26,   4,   0,   0, 
+     39,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     38,   4,   0,   0,  40,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  50,   4, 
+      0,   0,  41,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  62,   4,   0,   0, 
+     42,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     74,   4,   0,   0,  43,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  86,   4, 
+      0,   0,  44,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  50,   4,   0,   0, 
-     41,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     62,   4,   0,   0,  42,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  74,   4, 
-      0,   0,  43,   0,   0,   0, 
+      0,   0,  98,   4,   0,   0, 
+      0,   0,   0,   0, 110,   4, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0, 124,   4, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  26,   3, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0, 199,   8,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    207,   8,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 179,  11, 
+      0,   0, 187,  11,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
+      0,   0, 208,  11,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  26,   3,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+      1,  19,   0,   0,   8,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   9,  19, 
+      0,   0,   7,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0, 245,  28,   0,   0, 
+    253,  28,   0,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     26,   3,   0,   0,   6,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0,  44,  36, 
+      0,   0,   8,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  86,   4,   0,   0, 
-     44,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     98,   4,   0,   0,   0,   0, 
-      0,   0, 110,   4,   0,   0, 
+      0,   0,  52,  36,   0,   0, 
+      7,   0,   0,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+      0,  44,   0,   0,   8,  44, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  26,   3, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0,  61,  51,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     69,  51,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0,  53,  61, 
+      0,   0,  61,  61,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  26,   3,   0,   0, 
+      6,   0,   0,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+    112,  68,   0,   0,   8,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 120,  68, 
+      0,   0,   7,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0,  72,  76,   0,   0, 
+     80,  76,   0,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+     26,   3,   0,   0,   6,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 135,  83, 
+      0,   0,   8,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0, 143,  83,   0,   0, 
+      7,   0,   0,   0,   0,   0, 
+      0,   0,   7,   0,   0,   0, 
+    131,  93,   0,   0, 139,  93, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  26,   3, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0, 192, 100,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+    200, 100,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 156, 108, 
+      0,   0, 164, 108,   0,   0, 
       1,   0,   0,   0,   0,   0, 
       0,   0, 124,   4,   0,   0, 
       4,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       0,   0,  26,   3,   0,   0, 
       6,   0,   0,   0,   0,   0, 
       0,   0,   7,   0,   0,   0, 
-    199,   8,   0,   0,   8,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 207,   8, 
+      0, 113,   0,   0,   8,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   8, 113, 
       0,   0,   7,   0,   0,   0, 
       0,   0,   0,   0,   7,   0, 
-      0,   0, 179,  11,   0,   0, 
-    187,  11,   0,   0,   6,   0, 
-      0,   0,   0,   0,   0,   0, 
-    208,  11,   0,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     26,   3,   0,   0,   6,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,   1,  19, 
-      0,   0,   8,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   9,  19,   0,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    245,  28,   0,   0, 253,  28, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  26,   3, 
-      0,   0,   6,   0,   0,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0,  44,  36,   0,   0, 
-      8,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     52,  36,   0,   0,   7,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,   0,  44, 
-      0,   0,   8,  44,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  26,   3,   0,   0, 
-      6,   0,   0,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-     61,  51,   0,   0,   8,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  69,  51, 
-      0,   0,   7,   0,   0,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0,  53,  61,   0,   0, 
-     61,  61,   0,   0,   4,   0, 
+      0,   0, 232, 116,   0,   0, 
+    240, 116,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+    124,   4,   0,   0,   7,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   0,   0, 
-     26,   3,   0,   0,   6,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0, 112,  68, 
+     26,   3,   0,   0,  10,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   8, 117, 
+      0,   0,  11,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,  44, 117,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+    101,   3,   0,   0,   6,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 128, 121, 
       0,   0,   8,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0, 120,  68,   0,   0, 
+      0,   0, 136, 121,   0,   0, 
       7,   0,   0,   0,   0,   0, 
       0,   0,   7,   0,   0,   0, 
-     72,  76,   0,   0,  80,  76, 
-      0,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,  26,   3, 
-      0,   0,   6,   0,   0,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0, 135,  83,   0,   0, 
-      8,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-    143,  83,   0,   0,   7,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0, 131,  93, 
-      0,   0, 139,  93,   0,   0, 
-      4,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  26,   3,   0,   0, 
-      6,   0,   0,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    192, 100,   0,   0,   8,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 200, 100, 
-      0,   0,   7,   0,   0,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0, 156, 108,   0,   0, 
-    164, 108,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-    124,   4,   0,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     26,   3,   0,   0,   6,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,   0, 113, 
-      0,   0,   8,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   8, 113,   0,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    232, 116,   0,   0, 240, 116, 
-      0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0, 124,   4, 
+    128, 131,   0,   0, 136, 131, 
       0,   0,   7,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       2,   0,   0,   0,  26,   3, 
       0,   0,  10,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,   8, 117,   0,   0, 
+      0,   0, 139, 131,   0,   0, 
      11,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-     44, 117,   0,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0, 101,   3, 
+    175, 131,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0, 138,   3, 
       0,   0,   6,   0,   0,   0, 
       0,   0,   0,   0,   7,   0, 
-      0,   0, 128, 121,   0,   0, 
+      0,   0,   3, 136,   0,   0, 
       8,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    136, 121,   0,   0,   7,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0, 128, 131, 
-      0,   0, 136, 131,   0,   0, 
+     11, 136,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 199, 145, 
+      0,   0, 207, 145,   0,   0, 
       7,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       0,   0,  26,   3,   0,   0, 
      10,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    139, 131,   0,   0,  11,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 175, 131, 
+    210, 145,   0,   0,  11,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0, 246, 145, 
       0,   0,   2,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       0,   0, 138,   3,   0,   0, 
       6,   0,   0,   0,   0,   0, 
       0,   0,   7,   0,   0,   0, 
-      3, 136,   0,   0,   8,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  11, 136, 
+     74, 150,   0,   0,   8,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  82, 150, 
       0,   0,   7,   0,   0,   0, 
       0,   0,   0,   0,   7,   0, 
-      0,   0, 199, 145,   0,   0, 
-    207, 145,   0,   0,   7,   0, 
+      0,   0,   6, 161,   0,   0, 
+     14, 161,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32, 161,   0,   0,   7,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   0,   0, 
      26,   3,   0,   0,  10,   0, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 210, 145, 
+      1,   0,   0,   0,  41, 161, 
       0,   0,  11,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0, 246, 145,   0,   0, 
+      0,   0,  77, 161,   0,   0, 
       2,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   0,   0, 
-    138,   3,   0,   0,   6,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,  74, 150, 
+    247,   3,   0,   0,   6,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 161, 165, 
       0,   0,   8,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  82, 150,   0,   0, 
+      0,   0, 169, 165,   0,   0, 
       7,   0,   0,   0,   0,   0, 
       0,   0,   7,   0,   0,   0, 
-      6, 161,   0,   0,  14, 161, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,  32, 161, 
+     81, 170,   0,   0,  89, 170, 
       0,   0,   7,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       2,   0,   0,   0,  26,   3, 
       0,   0,  10,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
-      0,   0,  41, 161,   0,   0, 
+      0,   0,  96, 170,   0,   0, 
      11,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-     77, 161,   0,   0,   2,   0, 
+    132, 170,   0,   0,   2,   0, 
       0,   0,   0,   0,   0,   0, 
       2,   0,   0,   0, 247,   3, 
       0,   0,   6,   0,   0,   0, 
       0,   0,   0,   0,   7,   0, 
-      0,   0, 161, 165,   0,   0, 
+      0,   0, 216, 174,   0,   0, 
       8,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    169, 165,   0,   0,   7,   0, 
-      0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,   5, 170, 
-      0,   0,  13, 170,   0,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0,  26,   3,   0,   0, 
-     10,   0,   0,   0,   0,   0, 
-      0,   0,   1,   0,   0,   0, 
-     20, 170,   0,   0,  11,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,  56, 170, 
-      0,   0,   2,   0,   0,   0, 
-      0,   0,   0,   0,   2,   0, 
-      0,   0, 247,   3,   0,   0, 
-      6,   0,   0,   0,   0,   0, 
-      0,   0,   7,   0,   0,   0, 
-    140, 174,   0,   0,   8,   0, 
-      0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0, 148, 174, 
-      0,   0,   7,   0,   0,   0, 
-      0,   0,   0,   0,   7,   0, 
-      0,   0, 252, 179,   0,   0
+    224, 174,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0, 124, 180, 
+      0,   0
 };
new file mode 100644
--- /dev/null
+++ b/gfx/2d/genshaders.sh
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxc ShadersD2D.fx -nologo -FhShadersD2D.h -Tfx_4_0 -Vn d2deffect