From 707d9acc4973f8458164614f9dd1275aadac21ae Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 3 Jul 2018 18:20:41 -0700 Subject: [PATCH 1/2] BC7 GPU codec fix for quantize drifting --- DirectXTex/Shaders/BC7Encode.hlsl | 3 +- .../Compiled/BC6HEncode_EncodeBlockCS.pdb | Bin 380416 -> 380416 bytes .../Compiled/BC6HEncode_TryModeG10CS.pdb | Bin 288256 -> 288256 bytes .../Compiled/BC6HEncode_TryModeLE10CS.pdb | Bin 298496 -> 298496 bytes .../Compiled/BC7Encode_EncodeBlockCS.inc | 9505 ++++++++--------- .../Compiled/BC7Encode_EncodeBlockCS.pdb | Bin 226816 -> 226816 bytes .../Compiled/BC7Encode_TryMode02CS.inc | 476 +- .../Compiled/BC7Encode_TryMode02CS.pdb | Bin 187904 -> 185856 bytes .../Compiled/BC7Encode_TryMode137CS.inc | 3719 ++++--- .../Compiled/BC7Encode_TryMode137CS.pdb | Bin 187904 -> 185856 bytes .../Compiled/BC7Encode_TryMode456CS.inc | 2367 ++-- .../Compiled/BC7Encode_TryMode456CS.pdb | Bin 183808 -> 183808 bytes 12 files changed, 7987 insertions(+), 8083 deletions(-) diff --git a/DirectXTex/Shaders/BC7Encode.hlsl b/DirectXTex/Shaders/BC7Encode.hlsl index 607b560..bd2d70d 100644 --- a/DirectXTex/Shaders/BC7Encode.hlsl +++ b/DirectXTex/Shaders/BC7Encode.hlsl @@ -1562,8 +1562,7 @@ void EncodeBlockCS(uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID) uint4 quantize( uint4 color, uint uPrec ) { - uint4 rnd = min(255, color + (1 << (7 - uPrec))); - return rnd >> (8 - uPrec); + return (((color << 8) + color) * ((1 << uPrec) - 1) + 32768) >> 16; } uint4 unquantize( uint4 color, uint uPrec ) diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.pdb b/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.pdb index fc8a6fccc9b9feb8281c9b5f6d9408a38ee26033..6ce8bb4db4c957cde98282f11aeece1ba3896b7b 100644 GIT binary patch delta 232 zcmZpeBi=Aad;<%YM81qoG$R88L)!=TX>%4wcy&LEnOf>#o4HwrD}_b+MHK_Xkq#yX zv!{#<&Vft}O^X>Bs=hKZyjNjpp3S#?HXmc|Q_haI54}dhR~Q*5I_kGOd|}+~@P*0h z91}y-^qND=Y9M+Egl<1`h&Lo9AzCkC*wumf$~F0+GGi%AH`0)i837#S287!rU? m#_18eSY=oQ`aiHvuh_+^ghj>nHM>|N7;(CPyUZTeCxQUbhewP6 delta 233 zcmZpeBi=Aad;<%YM5yeqC`JYbhBe`0|3CPi@SAq}`CZ28&B>c(xKdc8kBKrf9O+(bBM+5>$DxLY%E#~4D8!wcCczO37uvJI)UND8b$^M s28IL%hSSW`BX+UMut@0mGf%JB#j1ow#r8G3SR)v5dSJWE9@Zy<08I!^8vp_+0)O&FsT9Q_AfC^+rPvx%YB^| l#KOjG#UQX5jW{m$#l+xfpR?#^Hm5SV@@hDi-bw||LY+WsYmS?(+6 mR-mB_3>$*CZkG;XiDY8Q(2Qi>UJ=65!-&()?J{93Pxt{1ku&N5 diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.pdb b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.pdb index c68fabcc9ef1e09e8f92f8bda63862607d92d2ca..497aef8a598150b2eb9eedccf814524fb3e3a023 100644 GIT binary patch delta 199 zcmZpeBh)ZQXaftEM23t_G$R88LqIp9vC-l}pUxSg3AbjIs%)0wn!zH?f1R1ZXcsdB z(?3QAZ4G9I{nvo>cP5785sb~}`L>_uW3+tA{?+(vr;+fL?fhRD{rj01qNXP_GpT{- z4hY@8p_ys>hGyoZFI?wYfmSg@Fr8=JE>ppx#l)16K7CFVi`4X_Di$FYhY9Ccr&m<5 VC;^4H1BEjfaXN3iObyEuK>$%lKI#Af delta 196 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 CZ7wzd delta 12727 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 delta 13613 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 diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc index d828ae1..51f9a71 100644 --- a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc +++ b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.inc @@ -328,34 +328,34 @@ if_nz r2.y movc r7.xyz, r2.yyyy, r5.xyzx, r7.xyzx movc r2.yzw, r2.yyyy, r8.xxyz, r9.xxyz if_nz r1.y - iadd r8.xyz, r10.xyzx, l(4, 4, 4, 0) - umin r8.xyz, r8.xyzx, l(255, 255, 255, 0) - iadd r9.xy, r2.yzyy, l(2, 2, 0, 0) - umin r9.xy, r9.xyxx, l(255, 255, 0, 0) - and r11.xyz, r8.xyzx, l(248, 248, 248, 0) - ushr r8.xyz, r8.xyzx, l(5) - iadd r8.xyz, r8.xyzx, r11.xyzx - and r9.zw, r9.xxxy, l(0, 0, 252, 252) - ushr r9.xy, r9.xyxx, l(6) - iadd r11.xyz, r7.xyzx, l(4, 4, 4, 0) - umin r11.xyz, r11.xyzx, l(255, 255, 255, 0) - and r12.xyz, r11.xyzx, l(248, 248, 248, 0) - ushr r11.xyz, r11.xyzx, l(5) - iadd r11.xyz, r11.xyzx, r12.xyzx - iadd r9.xy, r9.xyxx, r9.zwzz + imad r8.xyz, r10.xyzx, l(7967, 7967, 7967, 0), l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r8.xyz, r8.xyzx, l(16) + imad r9.xy, r2.yzyy, l(0x00003f3f, 0x00003f3f, 0, 0), l(0x00008000, 0x00008000, 0, 0) + ushr r9.xy, r9.xyxx, l(16) + ishl r8.xyz, r8.xyzx, l(3) + ushr r11.xyz, r8.xyzx, l(5) + or r8.xyz, r8.xyzx, r11.xyzx + ishl r9.xy, r9.xyxx, l(2) + ushr r9.zw, r9.xxxy, l(6) + imad r11.xyz, r7.xyzx, l(7967, 7967, 7967, 0), l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r11.xyz, r11.xyzx, l(16) + ishl r11.xyz, r11.xyzx, l(3) + ushr r12.xyz, r11.xyzx, l(5) + or r11.xyz, r11.xyzx, r12.xyzx + or r9.xy, r9.zwzz, r9.xyxx mov r11.w, r9.y mov r12.y, l(4) else - iadd r10.xyz, r10.xyzx, l(1, 1, 1, 0) - umin r10.xyz, r10.xyzx, l(255, 255, 255, 0) - and r13.xyz, r10.xyzx, l(254, 254, 254, 0) - ushr r10.xyz, r10.xyzx, l(7) - iadd r8.xyz, r10.xyzx, r13.xyzx - iadd r7.xyz, r7.xyzx, l(1, 1, 1, 0) - umin r7.xyz, r7.xyzx, l(255, 255, 255, 0) - and r10.xyz, r7.xyzx, l(254, 254, 254, 0) - ushr r7.xyz, r7.xyzx, l(7) - iadd r11.xyz, r7.xyzx, r10.xyzx + imad r10.xyz, r10.xyzx, l(0x00007f7f, 0x00007f7f, 0x00007f7f, 0), l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r10.xyz, r10.xyzx, l(16) + ishl r10.xyz, r10.xyzx, l(1) + ushr r13.xyz, r10.xyzx, l(7) + or r8.xyz, r10.xyzx, r13.xyzx + imad r7.xyz, r7.xyzx, l(0x00007f7f, 0x00007f7f, 0x00007f7f, 0), l(0x00008000, 0x00008000, 0x00008000, 0) + ushr r7.xyz, r7.xyzx, l(16) + ishl r7.xyz, r7.xyzx, l(1) + ushr r10.xyz, r7.xyzx, l(7) + or r11.xyz, r7.xyzx, r10.xyzx mov r9.x, r2.y mov r11.w, r2.z mov r12.y, l(5) @@ -624,11 +624,11 @@ ret const BYTE BC7Encode_TryMode456CS[] = { - 68, 88, 66, 67, 193, 29, - 43, 212, 231, 175, 144, 60, - 211, 12, 231, 93, 197, 161, - 15, 183, 1, 0, 0, 0, - 56, 56, 0, 0, 3, 0, + 68, 88, 66, 67, 116, 33, + 80, 151, 143, 227, 152, 154, + 208, 71, 126, 167, 55, 70, + 44, 147, 1, 0, 0, 0, + 36, 56, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 60, 0, 0, 0, 76, 0, 0, 0, 73, 83, 71, 78, @@ -637,8 +637,8 @@ const BYTE BC7Encode_TryMode456CS[] = 79, 83, 71, 78, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 83, 72, - 69, 88, 228, 55, 0, 0, - 64, 0, 5, 0, 249, 13, + 69, 88, 208, 55, 0, 0, + 64, 0, 5, 0, 244, 13, 0, 0, 106, 8, 0, 1, 53, 24, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, @@ -1682,94 +1682,92 @@ const BYTE BC7Encode_TryMode456CS[] = 0, 0, 6, 9, 16, 0, 9, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, - 1, 0, 0, 0, 30, 0, - 0, 10, 114, 0, 16, 0, + 1, 0, 0, 0, 35, 0, + 0, 15, 114, 0, 16, 0, 8, 0, 0, 0, 70, 2, 16, 0, 10, 0, 0, 0, - 2, 64, 0, 0, 4, 0, - 0, 0, 4, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 0, 10, - 114, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 2, 64, - 0, 0, 255, 0, 0, 0, - 255, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 0, 0, - 30, 0, 0, 10, 50, 0, - 16, 0, 9, 0, 0, 0, - 150, 5, 16, 0, 2, 0, + 2, 64, 0, 0, 31, 31, + 0, 0, 31, 31, 0, 0, + 31, 31, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, - 2, 0, 0, 0, 2, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 35, 0, 0, 15, + 50, 0, 16, 0, 9, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 63, 63, 0, 0, + 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 0, - 0, 10, 50, 0, 16, 0, - 9, 0, 0, 0, 70, 0, - 16, 0, 9, 0, 0, 0, - 2, 64, 0, 0, 255, 0, - 0, 0, 255, 0, 0, 0, + 2, 64, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 10, - 114, 0, 16, 0, 11, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 2, 64, - 0, 0, 248, 0, 0, 0, - 248, 0, 0, 0, 248, 0, - 0, 0, 0, 0, 0, 0, - 85, 0, 0, 7, 114, 0, + 0, 0, 85, 0, 0, 7, + 50, 0, 16, 0, 9, 0, + 0, 0, 70, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 114, 0, 16, 0, 8, 0, 0, 0, 70, 2, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, - 5, 0, 0, 0, 30, 0, + 3, 0, 0, 0, 85, 0, 0, 7, 114, 0, 16, 0, - 8, 0, 0, 0, 70, 2, + 11, 0, 0, 0, 70, 2, 16, 0, 8, 0, 0, 0, - 70, 2, 16, 0, 11, 0, - 0, 0, 1, 0, 0, 10, - 194, 0, 16, 0, 9, 0, - 0, 0, 6, 4, 16, 0, - 9, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 0, - 0, 0, 252, 0, 0, 0, - 85, 0, 0, 7, 50, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 60, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 8, 0, 0, 0, 70, 2, + 16, 0, 11, 0, 0, 0, + 41, 0, 0, 7, 50, 0, 16, 0, 9, 0, 0, 0, 70, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, - 6, 0, 0, 0, 30, 0, - 0, 10, 114, 0, 16, 0, - 11, 0, 0, 0, 70, 2, - 16, 0, 7, 0, 0, 0, - 2, 64, 0, 0, 4, 0, - 0, 0, 4, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 0, 10, + 2, 0, 0, 0, 85, 0, + 0, 7, 194, 0, 16, 0, + 9, 0, 0, 0, 6, 4, + 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 6, 0, + 0, 0, 35, 0, 0, 15, 114, 0, 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 2, 64, - 0, 0, 255, 0, 0, 0, - 255, 0, 0, 0, 255, 0, + 7, 0, 0, 0, 2, 64, + 0, 0, 31, 31, 0, 0, + 31, 31, 0, 0, 31, 31, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 10, 114, 0, - 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 11, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 41, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, - 0, 0, 2, 64, 0, 0, - 248, 0, 0, 0, 248, 0, - 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 85, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 85, 0, 0, 7, 114, 0, 16, 0, - 11, 0, 0, 0, 70, 2, + 12, 0, 0, 0, 70, 2, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 5, 0, - 0, 0, 30, 0, 0, 7, + 0, 0, 60, 0, 0, 7, 114, 0, 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, 11, 0, 0, 0, 70, 2, 16, 0, 12, 0, 0, 0, - 30, 0, 0, 7, 50, 0, + 60, 0, 0, 7, 50, 0, 16, 0, 9, 0, 0, 0, - 70, 0, 16, 0, 9, 0, - 0, 0, 230, 10, 16, 0, + 230, 10, 16, 0, 9, 0, + 0, 0, 70, 0, 16, 0, 9, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 11, 0, 0, 0, 26, 0, @@ -1778,1249 +1776,1248 @@ const BYTE BC7Encode_TryMode456CS[] = 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 18, 0, 0, 1, - 30, 0, 0, 10, 114, 0, + 35, 0, 0, 15, 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, 10, 0, 0, 0, 2, 64, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 84, 0, - 0, 10, 114, 0, 16, 0, - 10, 0, 0, 0, 70, 2, - 16, 0, 10, 0, 0, 0, - 2, 64, 0, 0, 255, 0, - 0, 0, 255, 0, 0, 0, - 255, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 10, - 114, 0, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 10, 0, 0, 0, 2, 64, - 0, 0, 254, 0, 0, 0, - 254, 0, 0, 0, 254, 0, + 127, 127, 0, 0, 127, 127, + 0, 0, 127, 127, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 128, 0, 0, + 0, 128, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 85, 0, 0, 7, 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, - 7, 0, 0, 0, 30, 0, + 16, 0, 0, 0, 41, 0, 0, 7, 114, 0, 16, 0, - 8, 0, 0, 0, 70, 2, - 16, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 13, 0, - 0, 0, 30, 0, 0, 10, - 114, 0, 16, 0, 7, 0, - 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 2, 64, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 84, 0, 0, 10, 114, 0, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 7, 0, - 0, 0, 2, 64, 0, 0, - 255, 0, 0, 0, 255, 0, - 0, 0, 255, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 10, 114, 0, 16, 0, 10, 0, 0, 0, 70, 2, - 16, 0, 7, 0, 0, 0, - 2, 64, 0, 0, 254, 0, - 0, 0, 254, 0, 0, 0, - 254, 0, 0, 0, 0, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 1, 0, 0, 0, 85, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 10, 0, 0, 0, 1, 64, + 0, 0, 7, 0, 0, 0, + 60, 0, 0, 7, 114, 0, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 35, 0, + 0, 15, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 127, 127, + 0, 0, 127, 127, 0, 0, + 127, 127, 0, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 128, 0, 0, 0, 128, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 85, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 41, 0, 0, 7, 114, 0, 16, 0, 7, 0, 0, 0, 70, 2, 16, 0, 7, 0, 0, 0, 1, 64, - 0, 0, 7, 0, 0, 0, - 30, 0, 0, 7, 114, 0, - 16, 0, 11, 0, 0, 0, - 70, 2, 16, 0, 7, 0, - 0, 0, 70, 2, 16, 0, - 10, 0, 0, 0, 54, 0, - 0, 5, 18, 0, 16, 0, - 9, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 130, 0, - 16, 0, 11, 0, 0, 0, - 42, 0, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 5, - 34, 0, 16, 0, 12, 0, - 0, 0, 1, 64, 0, 0, - 5, 0, 0, 0, 21, 0, - 0, 1, 32, 0, 0, 10, - 114, 0, 16, 0, 7, 0, - 0, 0, 246, 15, 16, 0, - 2, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 194, 0, + 85, 0, 0, 7, 114, 0, 16, 0, 10, 0, 0, 0, - 166, 10, 16, 0, 7, 0, - 0, 0, 246, 11, 16, 0, - 3, 0, 0, 0, 166, 14, - 16, 0, 3, 0, 0, 0, - 54, 0, 0, 5, 50, 0, - 16, 0, 10, 0, 0, 0, - 70, 0, 16, 0, 3, 0, - 0, 0, 55, 0, 0, 9, - 226, 0, 16, 0, 10, 0, - 0, 0, 86, 5, 16, 0, - 7, 0, 0, 0, 246, 6, - 16, 0, 3, 0, 0, 0, - 86, 14, 16, 0, 10, 0, - 0, 0, 55, 0, 0, 9, - 242, 0, 16, 0, 10, 0, - 0, 0, 6, 0, 16, 0, - 7, 0, 0, 0, 118, 2, - 16, 0, 3, 0, 0, 0, - 70, 14, 16, 0, 10, 0, - 0, 0, 40, 0, 0, 5, - 114, 0, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 40, 0, + 70, 2, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, + 7, 0, 0, 0, 60, 0, + 0, 7, 114, 0, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 10, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 9, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, - 13, 0, 0, 0, 10, 0, - 16, 0, 9, 0, 0, 0, - 30, 0, 0, 7, 242, 0, - 16, 0, 14, 0, 0, 0, - 70, 14, 16, 0, 11, 0, - 0, 0, 70, 14, 16, 0, - 13, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 114, 0, 16, 0, 15, 0, - 0, 0, 70, 3, 16, 0, - 14, 0, 0, 0, 70, 3, - 16, 0, 14, 0, 0, 0, - 30, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 15, 0, - 0, 0, 10, 0, 16, 0, - 15, 0, 0, 0, 35, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 14, 0, 0, 0, - 42, 0, 16, 0, 14, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 30, 0, - 0, 7, 242, 0, 16, 0, - 13, 0, 0, 0, 70, 14, + 11, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 5, 0, + 0, 0, 21, 0, 0, 1, + 32, 0, 0, 10, 114, 0, + 16, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 194, 0, 16, 0, + 10, 0, 0, 0, 166, 10, + 16, 0, 7, 0, 0, 0, + 246, 11, 16, 0, 3, 0, + 0, 0, 166, 14, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 10, 0, 0, 0, 70, 0, + 16, 0, 3, 0, 0, 0, + 55, 0, 0, 9, 226, 0, 16, 0, 10, 0, 0, 0, + 86, 5, 16, 0, 7, 0, + 0, 0, 246, 6, 16, 0, + 3, 0, 0, 0, 86, 14, + 16, 0, 10, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 10, 0, 0, 0, + 6, 0, 16, 0, 7, 0, + 0, 0, 118, 2, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 10, 0, 0, 0, + 40, 0, 0, 5, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 40, 0, 0, 5, + 130, 0, 16, 0, 13, 0, + 0, 0, 10, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 14, 0, 0, 0, 70, 14, + 16, 0, 11, 0, 0, 0, 70, 14, 16, 0, 13, 0, 0, 0, 38, 0, 0, 8, - 0, 208, 0, 0, 178, 0, + 0, 208, 0, 0, 114, 0, + 16, 0, 15, 0, 0, 0, + 70, 3, 16, 0, 14, 0, + 0, 0, 70, 3, 16, 0, + 14, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 15, 0, 0, 0, + 10, 0, 16, 0, 15, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 14, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 7, + 242, 0, 16, 0, 13, 0, + 0, 0, 70, 14, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 13, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 178, 0, 16, 0, + 13, 0, 0, 0, 70, 12, 16, 0, 13, 0, 0, 0, 70, 12, 16, 0, 13, 0, - 0, 0, 70, 12, 16, 0, - 13, 0, 0, 0, 30, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 13, 0, 0, 0, - 10, 0, 16, 0, 13, 0, - 0, 0, 35, 0, 0, 9, - 34, 0, 16, 0, 2, 0, - 0, 0, 42, 0, 16, 0, - 13, 0, 0, 0, 42, 0, - 16, 0, 13, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 30, 0, 0, 8, - 242, 0, 16, 0, 10, 0, - 0, 0, 70, 14, 16, 128, - 65, 0, 0, 0, 11, 0, - 0, 0, 70, 14, 16, 0, - 10, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 178, 0, 16, 0, 10, 0, - 0, 0, 70, 12, 16, 0, - 10, 0, 0, 0, 70, 12, - 16, 0, 10, 0, 0, 0, - 30, 0, 0, 7, 66, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 10, 0, - 0, 0, 10, 0, 16, 0, - 10, 0, 0, 0, 35, 0, - 0, 9, 66, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 10, 0, 0, 0, - 42, 0, 16, 0, 10, 0, - 0, 0, 42, 0, 16, 0, - 2, 0, 0, 0, 34, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 40, 0, 0, 5, - 242, 0, 16, 0, 16, 0, - 0, 0, 70, 14, 16, 0, - 14, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 10, 0, 0, 0, 86, 5, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 11, 0, - 0, 0, 70, 2, 16, 0, - 8, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 8, 0, 0, 0, 86, 5, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 11, 0, 0, 0, 86, 5, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 34, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 13, 0, - 0, 0, 54, 0, 0, 5, - 34, 0, 16, 0, 9, 0, - 0, 0, 58, 0, 16, 0, - 11, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 16, 0, 0, 0, - 54, 0, 0, 5, 130, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 14, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 9, 0, - 0, 0, 86, 5, 16, 0, - 2, 0, 0, 0, 22, 6, - 16, 0, 9, 0, 0, 0, - 70, 3, 16, 0, 9, 0, - 0, 0, 33, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 43, 0, 0, 5, 66, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 41, 0, 0, 7, - 194, 0, 16, 0, 12, 0, - 0, 0, 86, 9, 16, 0, - 6, 0, 0, 0, 1, 64, - 0, 0, 6, 0, 0, 0, - 41, 0, 0, 7, 98, 0, - 16, 0, 6, 0, 0, 0, - 86, 6, 16, 0, 6, 0, - 0, 0, 1, 64, 0, 0, - 4, 0, 0, 0, 30, 0, - 0, 10, 50, 0, 16, 0, - 13, 0, 0, 0, 230, 10, - 16, 0, 12, 0, 0, 0, - 2, 64, 0, 0, 11, 0, - 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 33, 0, 0, 7, - 130, 0, 16, 0, 7, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 15, 0, 0, 0, - 43, 0, 0, 5, 130, 0, - 16, 0, 8, 0, 0, 0, - 42, 0, 16, 0, 15, 0, - 0, 0, 78, 0, 0, 11, - 0, 208, 0, 0, 50, 0, - 16, 0, 13, 0, 0, 0, - 70, 0, 16, 0, 13, 0, - 0, 0, 2, 64, 0, 0, - 68, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 0, 16, 0, - 13, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 48, 0, 0, 1, 80, 0, - 0, 7, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 13, 0, 0, 0, - 1, 64, 0, 0, 16, 0, - 0, 0, 3, 0, 4, 3, - 58, 0, 16, 0, 9, 0, 0, 0, 30, 0, 0, 7, - 130, 0, 16, 0, 9, 0, + 34, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 13, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, - 167, 0, 0, 9, 242, 0, - 16, 0, 14, 0, 0, 0, - 58, 0, 16, 0, 9, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 70, 254, - 17, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 194, 0, - 16, 0, 16, 0, 0, 0, - 166, 10, 16, 0, 7, 0, - 0, 0, 246, 11, 16, 0, - 14, 0, 0, 0, 166, 14, - 16, 0, 14, 0, 0, 0, - 54, 0, 0, 5, 50, 0, - 16, 0, 16, 0, 0, 0, - 70, 0, 16, 0, 14, 0, - 0, 0, 55, 0, 0, 9, - 226, 0, 16, 0, 16, 0, - 0, 0, 86, 5, 16, 0, - 7, 0, 0, 0, 246, 6, - 16, 0, 14, 0, 0, 0, - 86, 14, 16, 0, 16, 0, - 0, 0, 55, 0, 0, 9, - 242, 0, 16, 0, 14, 0, - 0, 0, 6, 0, 16, 0, - 7, 0, 0, 0, 118, 2, - 16, 0, 14, 0, 0, 0, - 70, 14, 16, 0, 16, 0, - 0, 0, 30, 0, 0, 8, - 178, 0, 16, 0, 15, 0, - 0, 0, 70, 8, 16, 128, - 65, 0, 0, 0, 10, 0, - 0, 0, 70, 8, 16, 0, - 14, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 50, 0, 16, 0, 15, 0, - 0, 0, 70, 0, 16, 0, - 11, 0, 0, 0, 70, 0, - 16, 0, 15, 0, 0, 0, - 30, 0, 0, 7, 130, 0, - 16, 0, 9, 0, 0, 0, - 26, 0, 16, 0, 15, 0, - 0, 0, 10, 0, 16, 0, - 15, 0, 0, 0, 35, 0, - 0, 9, 130, 0, 16, 0, - 9, 0, 0, 0, 42, 0, - 16, 0, 11, 0, 0, 0, - 58, 0, 16, 0, 15, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 33, 0, - 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 9, 0, - 0, 0, 60, 0, 0, 7, - 130, 0, 16, 0, 10, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 58, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 13, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 8, 242, 0, 16, 0, 10, 0, 0, 0, - 34, 0, 0, 7, 130, 0, + 70, 14, 16, 128, 65, 0, + 0, 0, 11, 0, 0, 0, + 70, 14, 16, 0, 10, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 178, 0, + 16, 0, 10, 0, 0, 0, + 70, 12, 16, 0, 10, 0, + 0, 0, 70, 12, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 10, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 34, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 40, 0, 0, 5, 242, 0, + 16, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 10, 0, + 0, 0, 86, 5, 16, 0, + 2, 0, 0, 0, 70, 2, 16, 0, 11, 0, 0, 0, - 58, 0, 16, 0, 9, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 8, 0, + 0, 0, 86, 5, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 70, 2, 16, 0, 11, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 11, 0, + 0, 0, 86, 5, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 34, 0, 0, 7, + 34, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 43, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 16, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 114, 0, 16, 0, 9, 0, 0, 0, - 56, 0, 0, 7, 130, 0, + 86, 5, 16, 0, 2, 0, + 0, 0, 22, 6, 16, 0, + 9, 0, 0, 0, 70, 3, 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 9, 0, + 33, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 43, 0, + 0, 5, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 194, 0, + 16, 0, 12, 0, 0, 0, + 86, 9, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, - 253, 255, 125, 66, 14, 0, - 0, 7, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 42, 0, 16, 0, 2, 0, - 0, 0, 28, 0, 0, 5, - 130, 0, 16, 0, 9, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 30, 0, - 0, 7, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 42, 0, 16, 0, 12, 0, - 0, 0, 55, 0, 0, 10, - 130, 0, 16, 0, 9, 0, - 0, 0, 58, 0, 16, 0, - 11, 0, 0, 0, 10, 144, - 144, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 55, 0, 0, 9, 130, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 30, 0, 0, 8, 130, 0, - 16, 0, 10, 0, 0, 0, - 10, 0, 16, 128, 65, 0, - 0, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 14, 0, - 0, 0, 38, 0, 0, 8, - 0, 208, 0, 0, 130, 0, - 16, 0, 10, 0, 0, 0, - 42, 0, 16, 0, 9, 0, - 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 33, 0, - 0, 7, 130, 0, 16, 0, - 11, 0, 0, 0, 1, 64, + 6, 0, 0, 0, 41, 0, + 0, 7, 98, 0, 16, 0, + 6, 0, 0, 0, 86, 6, + 16, 0, 6, 0, 0, 0, + 1, 64, 0, 0, 4, 0, + 0, 0, 30, 0, 0, 10, + 50, 0, 16, 0, 13, 0, + 0, 0, 230, 10, 16, 0, + 12, 0, 0, 0, 2, 64, + 0, 0, 11, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 60, 0, 0, 7, - 130, 0, 16, 0, 11, 0, - 0, 0, 58, 0, 16, 0, - 7, 0, 0, 0, 58, 0, - 16, 0, 11, 0, 0, 0, - 34, 0, 0, 7, 18, 0, - 16, 0, 15, 0, 0, 0, - 58, 0, 16, 0, 10, 0, + 33, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 43, 0, 0, 5, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 1, 64, 0, 0, - 253, 255, 125, 66, 14, 0, - 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 8, 0, - 0, 0, 28, 0, 0, 5, - 130, 0, 16, 0, 10, 0, - 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 30, 0, - 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 12, 0, - 0, 0, 55, 0, 0, 10, - 130, 0, 16, 0, 10, 0, - 0, 0, 10, 0, 16, 0, - 15, 0, 0, 0, 10, 144, - 144, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 26, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 15, 0, 0, 0, + 78, 0, 0, 11, 0, 208, + 0, 0, 50, 0, 16, 0, + 13, 0, 0, 0, 70, 0, 16, 0, 13, 0, 0, 0, - 55, 0, 0, 9, 130, 0, - 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 11, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 68, 0, + 0, 0, 68, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 194, 0, 16, 0, 13, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 3, 0, 4, 3, 58, 0, + 16, 0, 9, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 9, 0, 0, 0, - 26, 0, 16, 0, 6, 0, + 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 30, 0, - 0, 9, 130, 0, 16, 0, - 11, 0, 0, 0, 1, 64, - 0, 0, 64, 0, 0, 0, - 26, 144, 144, 128, 65, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 38, 0, - 0, 9, 0, 208, 0, 0, - 178, 0, 16, 0, 15, 0, - 0, 0, 70, 8, 16, 0, - 8, 0, 0, 0, 86, 149, - 144, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 35, 0, - 0, 9, 178, 0, 16, 0, - 15, 0, 0, 0, 246, 15, - 16, 0, 11, 0, 0, 0, - 70, 8, 16, 0, 10, 0, - 0, 0, 70, 12, 16, 0, - 15, 0, 0, 0, 30, 0, - 0, 10, 178, 0, 16, 0, - 15, 0, 0, 0, 70, 12, - 16, 0, 15, 0, 0, 0, - 2, 64, 0, 0, 32, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 32, 0, - 0, 0, 85, 0, 0, 7, - 178, 0, 16, 0, 16, 0, - 0, 0, 70, 12, 16, 0, - 15, 0, 0, 0, 1, 64, - 0, 0, 6, 0, 0, 0, - 30, 0, 0, 7, 130, 0, + 13, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 14, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, - 42, 0, 16, 0, 6, 0, - 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 30, 0, - 0, 9, 130, 0, 16, 0, - 10, 0, 0, 0, 1, 64, - 0, 0, 64, 0, 0, 0, - 26, 144, 144, 128, 65, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 38, 0, - 0, 9, 0, 208, 0, 0, - 130, 0, 16, 0, 9, 0, - 0, 0, 26, 0, 16, 0, - 9, 0, 0, 0, 26, 144, - 144, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 35, 0, - 0, 9, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 10, 0, 0, 0, - 10, 0, 16, 0, 9, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 30, 0, - 0, 7, 130, 0, 16, 0, - 9, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 1, 64, 0, 0, 32, 0, - 0, 0, 85, 0, 0, 7, - 34, 0, 16, 0, 15, 0, - 0, 0, 58, 0, 16, 0, - 9, 0, 0, 0, 1, 64, - 0, 0, 6, 0, 0, 0, - 79, 0, 0, 7, 114, 0, - 16, 0, 17, 0, 0, 0, - 70, 3, 16, 0, 16, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 16, 0, 0, 0, 10, 0, - 16, 0, 14, 0, 0, 0, - 55, 0, 0, 9, 146, 0, - 16, 0, 17, 0, 0, 0, - 6, 0, 16, 0, 17, 0, - 0, 0, 166, 2, 16, 0, - 16, 0, 0, 0, 6, 8, - 16, 0, 16, 0, 0, 0, - 54, 0, 0, 5, 82, 0, - 16, 0, 16, 0, 0, 0, - 86, 6, 16, 0, 14, 0, - 0, 0, 55, 0, 0, 9, - 242, 0, 16, 0, 16, 0, - 0, 0, 86, 10, 16, 0, - 17, 0, 0, 0, 70, 14, - 16, 0, 16, 0, 0, 0, - 22, 11, 16, 0, 16, 0, - 0, 0, 79, 0, 0, 7, - 130, 0, 16, 0, 9, 0, - 0, 0, 26, 0, 16, 0, - 15, 0, 0, 0, 58, 0, - 16, 0, 14, 0, 0, 0, - 54, 0, 0, 5, 18, 0, - 16, 0, 15, 0, 0, 0, - 58, 0, 16, 0, 14, 0, - 0, 0, 55, 0, 0, 9, - 50, 0, 16, 0, 14, 0, - 0, 0, 246, 15, 16, 0, - 9, 0, 0, 0, 70, 0, - 16, 0, 15, 0, 0, 0, - 22, 5, 16, 0, 15, 0, - 0, 0, 40, 0, 0, 5, - 130, 0, 16, 0, 18, 0, - 0, 0, 58, 0, 16, 0, - 17, 0, 0, 0, 40, 0, - 0, 5, 98, 0, 16, 0, - 18, 0, 0, 0, 86, 7, - 16, 0, 16, 0, 0, 0, - 40, 0, 0, 5, 18, 0, - 16, 0, 18, 0, 0, 0, - 26, 0, 16, 0, 14, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 14, 0, - 0, 0, 10, 0, 16, 0, - 17, 0, 0, 0, 54, 0, - 0, 5, 98, 0, 16, 0, - 14, 0, 0, 0, 6, 2, - 16, 0, 16, 0, 0, 0, - 30, 0, 0, 7, 242, 0, - 16, 0, 14, 0, 0, 0, - 70, 14, 16, 0, 18, 0, - 0, 0, 70, 14, 16, 0, - 14, 0, 0, 0, 55, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 55, 0, 0, 9, 194, 0, 16, 0, 16, 0, 0, 0, 166, 10, 16, 0, 7, 0, 0, 0, - 6, 8, 16, 0, 14, 0, - 0, 0, 166, 2, 16, 0, + 246, 11, 16, 0, 14, 0, + 0, 0, 166, 14, 16, 0, 14, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, - 16, 0, 0, 0, 118, 15, + 16, 0, 0, 0, 70, 0, 16, 0, 14, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 16, 0, 0, 0, 86, 5, 16, 0, 7, 0, - 0, 0, 6, 6, 16, 0, + 0, 0, 246, 6, 16, 0, 14, 0, 0, 0, 86, 14, 16, 0, 16, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 14, 0, 0, 0, 6, 0, 16, 0, 7, 0, - 0, 0, 70, 14, 16, 0, + 0, 0, 118, 2, 16, 0, 14, 0, 0, 0, 70, 14, 16, 0, 16, 0, 0, 0, - 38, 0, 0, 8, 0, 208, - 0, 0, 50, 0, 16, 0, - 14, 0, 0, 0, 70, 0, - 16, 0, 14, 0, 0, 0, - 70, 0, 16, 0, 14, 0, - 0, 0, 30, 0, 0, 7, - 130, 0, 16, 0, 9, 0, - 0, 0, 26, 0, 16, 0, - 14, 0, 0, 0, 10, 0, - 16, 0, 14, 0, 0, 0, - 35, 0, 0, 9, 130, 0, - 16, 0, 9, 0, 0, 0, - 42, 0, 16, 0, 14, 0, - 0, 0, 42, 0, 16, 0, - 14, 0, 0, 0, 58, 0, - 16, 0, 9, 0, 0, 0, - 86, 0, 0, 5, 130, 0, - 16, 0, 9, 0, 0, 0, - 58, 0, 16, 0, 9, 0, - 0, 0, 86, 0, 0, 5, - 130, 0, 16, 0, 10, 0, - 0, 0, 58, 0, 16, 0, - 14, 0, 0, 0, 56, 0, + 30, 0, 0, 8, 178, 0, + 16, 0, 15, 0, 0, 0, + 70, 8, 16, 128, 65, 0, + 0, 0, 10, 0, 0, 0, + 70, 8, 16, 0, 14, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 50, 0, + 16, 0, 15, 0, 0, 0, + 70, 0, 16, 0, 11, 0, + 0, 0, 70, 0, 16, 0, + 15, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, - 10, 0, 0, 0, 58, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 15, 0, 0, 0, + 10, 0, 16, 0, 15, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 11, 0, 0, 0, 58, 0, + 16, 0, 15, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 60, 0, 0, 7, 130, 0, 16, 0, 10, 0, 0, 0, - 58, 0, 16, 0, 10, 0, - 0, 0, 50, 0, 0, 10, + 26, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 34, 0, + 0, 7, 130, 0, 16, 0, + 11, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 43, 0, 0, 5, 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, - 10, 0, 0, 0, 42, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 58, 0, + 9, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, 28, 0, 0, 5, 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 30, 0, 0, 7, - 66, 0, 16, 0, 13, 0, + 130, 0, 16, 0, 9, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 42, 0, - 16, 0, 13, 0, 0, 0, - 30, 0, 0, 7, 130, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 13, 0, - 0, 0, 1, 64, 0, 0, - 1, 0, 0, 0, 22, 0, - 0, 1, 54, 0, 0, 5, - 18, 0, 16, 0, 12, 0, - 0, 0, 42, 0, 16, 0, - 13, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 6, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 18, 0, 0, 1, 31, 0, - 4, 3, 10, 0, 16, 0, - 1, 0, 0, 0, 30, 0, - 0, 7, 18, 0, 16, 0, - 7, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 244, 255, - 255, 255, 85, 0, 0, 7, - 34, 0, 16, 0, 7, 0, + 16, 0, 12, 0, 0, 0, + 55, 0, 0, 10, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 11, 0, + 0, 0, 10, 144, 144, 0, + 58, 0, 16, 0, 9, 0, 0, 0, 10, 0, 16, 0, - 7, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 10, 194, 0, - 16, 0, 0, 0, 0, 0, - 6, 4, 16, 0, 7, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 30, 0, + 0, 8, 130, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 128, 65, 0, 0, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 130, 0, 16, 0, + 10, 0, 0, 0, 42, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 60, 0, 0, 7, 130, 0, + 16, 0, 11, 0, 0, 0, + 58, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 11, 0, 0, 0, 34, 0, + 0, 7, 18, 0, 16, 0, + 15, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 42, 0, 16, 0, 15, 0, + 0, 0, 43, 0, 0, 5, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 56, 0, + 0, 7, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 1, 64, 0, 0, 253, 255, + 125, 66, 14, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 28, 0, 0, 5, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 12, 0, 0, 0, + 55, 0, 0, 10, 130, 0, + 16, 0, 10, 0, 0, 0, + 10, 0, 16, 0, 15, 0, + 0, 0, 10, 144, 144, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 11, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 26, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 9, + 130, 0, 16, 0, 11, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 26, 144, + 144, 128, 65, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 38, 0, 0, 9, + 0, 208, 0, 0, 178, 0, + 16, 0, 15, 0, 0, 0, + 70, 8, 16, 0, 8, 0, + 0, 0, 86, 149, 144, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 35, 0, 0, 9, + 178, 0, 16, 0, 15, 0, + 0, 0, 246, 15, 16, 0, + 11, 0, 0, 0, 70, 8, + 16, 0, 10, 0, 0, 0, + 70, 12, 16, 0, 15, 0, + 0, 0, 30, 0, 0, 10, + 178, 0, 16, 0, 15, 0, + 0, 0, 70, 12, 16, 0, + 15, 0, 0, 0, 2, 64, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, + 85, 0, 0, 7, 178, 0, + 16, 0, 16, 0, 0, 0, + 70, 12, 16, 0, 15, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 30, 0, 0, 9, + 130, 0, 16, 0, 10, 0, + 0, 0, 1, 64, 0, 0, + 64, 0, 0, 0, 26, 144, + 144, 128, 65, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 38, 0, 0, 9, + 0, 208, 0, 0, 130, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 9, 0, + 0, 0, 26, 144, 144, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 35, 0, 0, 9, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 10, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 30, 0, 0, 7, + 130, 0, 16, 0, 9, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 1, 64, + 0, 0, 32, 0, 0, 0, + 85, 0, 0, 7, 34, 0, + 16, 0, 15, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 1, 64, 0, 0, + 6, 0, 0, 0, 79, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 70, 3, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 146, 0, 16, 0, + 17, 0, 0, 0, 6, 0, + 16, 0, 17, 0, 0, 0, + 166, 2, 16, 0, 16, 0, + 0, 0, 6, 8, 16, 0, + 16, 0, 0, 0, 54, 0, + 0, 5, 82, 0, 16, 0, + 16, 0, 0, 0, 86, 6, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 242, 0, + 16, 0, 16, 0, 0, 0, + 86, 10, 16, 0, 17, 0, + 0, 0, 70, 14, 16, 0, + 16, 0, 0, 0, 22, 11, + 16, 0, 16, 0, 0, 0, + 79, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 15, 0, + 0, 0, 58, 0, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 15, 0, 0, 0, 58, 0, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 50, 0, + 16, 0, 14, 0, 0, 0, + 246, 15, 16, 0, 9, 0, + 0, 0, 70, 0, 16, 0, + 15, 0, 0, 0, 22, 5, + 16, 0, 15, 0, 0, 0, + 40, 0, 0, 5, 130, 0, + 16, 0, 18, 0, 0, 0, + 58, 0, 16, 0, 17, 0, + 0, 0, 40, 0, 0, 5, + 98, 0, 16, 0, 18, 0, + 0, 0, 86, 7, 16, 0, + 16, 0, 0, 0, 40, 0, + 0, 5, 18, 0, 16, 0, + 18, 0, 0, 0, 26, 0, + 16, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 14, 0, 0, 0, + 10, 0, 16, 0, 17, 0, + 0, 0, 54, 0, 0, 5, + 98, 0, 16, 0, 14, 0, + 0, 0, 6, 2, 16, 0, + 16, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 14, 0, 0, 0, 70, 14, + 16, 0, 18, 0, 0, 0, + 70, 14, 16, 0, 14, 0, + 0, 0, 55, 0, 0, 9, + 194, 0, 16, 0, 16, 0, + 0, 0, 166, 10, 16, 0, + 7, 0, 0, 0, 6, 8, + 16, 0, 14, 0, 0, 0, + 166, 2, 16, 0, 14, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 16, 0, + 0, 0, 118, 15, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 226, 0, 16, 0, + 16, 0, 0, 0, 86, 5, + 16, 0, 7, 0, 0, 0, + 6, 6, 16, 0, 14, 0, + 0, 0, 86, 14, 16, 0, + 16, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 14, 0, 0, 0, 6, 0, + 16, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 14, 0, + 0, 0, 70, 14, 16, 0, + 16, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 50, 0, 16, 0, 14, 0, + 0, 0, 70, 0, 16, 0, + 14, 0, 0, 0, 70, 0, + 16, 0, 14, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 9, 0, 0, 0, + 26, 0, 16, 0, 14, 0, + 0, 0, 10, 0, 16, 0, + 14, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 9, 0, 0, 0, 42, 0, + 16, 0, 14, 0, 0, 0, + 42, 0, 16, 0, 14, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 86, 0, + 0, 5, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 86, 0, 0, 5, 130, 0, + 16, 0, 10, 0, 0, 0, + 58, 0, 16, 0, 14, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 10, 0, + 0, 0, 58, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 10, 0, 0, 0, + 50, 0, 0, 10, 130, 0, + 16, 0, 9, 0, 0, 0, + 58, 0, 16, 0, 10, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 9, 0, 0, 0, 28, 0, + 0, 5, 130, 0, 16, 0, + 9, 0, 0, 0, 58, 0, + 16, 0, 9, 0, 0, 0, + 30, 0, 0, 7, 66, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 9, 0, + 0, 0, 42, 0, 16, 0, + 13, 0, 0, 0, 30, 0, + 0, 7, 130, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 1, 0, + 0, 0, 22, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 12, 0, 0, 0, + 42, 0, 16, 0, 13, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 18, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 1, 0, + 0, 0, 30, 0, 0, 7, + 18, 0, 16, 0, 7, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 244, 255, 255, 255, + 85, 0, 0, 7, 34, 0, + 16, 0, 7, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 1, 0, - 0, 10, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 14, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 7, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 254, 255, 255, 255, + 254, 255, 255, 255, 254, 255, + 255, 255, 254, 255, 255, 255, + 30, 0, 0, 7, 242, 0, 16, 0, 4, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 10, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 254, 255, 255, 255, 254, 255, 255, 255, 254, 255, 255, 255, 254, 255, 255, 255, 30, 0, 0, 7, - 242, 0, 16, 0, 4, 0, - 0, 0, 166, 10, 16, 0, + 242, 0, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 1, 0, 0, 10, 242, 0, 16, 0, 5, 0, 0, 0, - 70, 14, 16, 0, 5, 0, - 0, 0, 2, 64, 0, 0, - 254, 255, 255, 255, 254, 255, - 255, 255, 254, 255, 255, 255, - 254, 255, 255, 255, 30, 0, - 0, 7, 242, 0, 16, 0, - 5, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 5, 0, - 0, 0, 30, 0, 0, 8, - 242, 0, 16, 0, 8, 0, - 0, 0, 70, 14, 16, 128, - 65, 0, 0, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 194, 0, 16, 0, 0, 0, - 0, 0, 6, 4, 16, 0, - 8, 0, 0, 0, 6, 4, + 30, 0, 0, 8, 242, 0, 16, 0, 8, 0, 0, 0, - 30, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 35, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 8, 0, 0, 0, - 42, 0, 16, 0, 8, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 35, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 58, 0, 16, 0, 8, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 30, 0, - 0, 8, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 194, 0, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 8, 0, + 0, 0, 6, 4, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 8, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 35, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 8, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 30, 0, 0, 8, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 98, 0, 16, 0, 2, 0, + 0, 0, 6, 1, 16, 0, + 3, 0, 0, 0, 6, 1, + 16, 0, 8, 0, 0, 0, + 30, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 8, 0, 0, 0, + 42, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 35, 0, + 0, 9, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 8, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 34, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 33, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 43, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 253, 255, 125, 66, 28, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 5, 0, 0, 0, 79, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 40, 0, 0, 5, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 9, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 5, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 8, 0, + 0, 0, 33, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 43, 0, 0, 5, 18, 0, + 16, 0, 1, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 50, 0, 16, 0, 12, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 1, 80, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 3, 0, 4, 3, 26, 0, + 16, 0, 2, 0, 0, 0, + 30, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 167, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 70, 254, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 8, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 128, 65, 0, 0, 0, + 9, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 98, 0, 16, 0, 2, 0, 0, 0, 6, 1, 16, 0, 3, 0, 0, 0, 6, 1, 16, 0, 8, 0, 0, 0, 30, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, - 35, 0, 0, 9, 130, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 8, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 3, 0, 0, 0, 42, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 35, 0, 0, 9, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 8, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 35, 0, 0, 9, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 3, 0, 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 34, 0, 0, 7, 18, 0, - 16, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 33, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 33, 0, - 0, 7, 34, 0, 16, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 60, 0, + 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 26, 0, + 42, 0, 16, 0, 2, 0, + 0, 0, 34, 0, 0, 7, + 130, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 43, 0, 0, 5, 34, 0, 16, 0, 2, 0, 0, 0, - 43, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, + 26, 0, 16, 0, 2, 0, 0, 0, 56, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 253, 255, 125, 66, - 28, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 41, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 5, 0, 0, 0, - 79, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 1, 0, - 0, 0, 40, 0, 0, 5, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 8, 0, 0, 0, 55, 0, - 0, 9, 242, 0, 16, 0, - 9, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 5, 0, - 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 55, 0, - 0, 9, 242, 0, 16, 0, - 4, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 55, 0, - 0, 9, 242, 0, 16, 0, - 3, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 8, 0, 0, 0, 33, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 43, 0, 0, 5, - 18, 0, 16, 0, 1, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 50, 0, 16, 0, - 12, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 48, 0, 0, 1, 80, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 12, 0, 0, 0, - 1, 64, 0, 0, 16, 0, - 0, 0, 3, 0, 4, 3, - 26, 0, 16, 0, 2, 0, - 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 12, 0, 0, 0, - 167, 0, 0, 9, 242, 0, - 16, 0, 5, 0, 0, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 253, 255, 125, 66, + 14, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 28, 0, + 0, 5, 34, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 55, 0, 0, 10, 34, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 10, 144, 144, 0, 26, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 70, 254, - 17, 0, 0, 0, 0, 0, - 30, 0, 0, 8, 242, 0, + 15, 0, 0, 0, 55, 0, + 0, 9, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 64, 0, 0, 0, + 26, 144, 144, 128, 65, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 9, 0, 208, 0, 0, + 242, 0, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 86, 149, + 144, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 35, 0, + 0, 9, 242, 0, 16, 0, + 8, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 9, 0, + 0, 0, 70, 14, 16, 0, + 8, 0, 0, 0, 30, 0, + 0, 10, 242, 0, 16, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 8, 0, 0, 0, + 2, 64, 0, 0, 32, 0, + 0, 0, 32, 0, 0, 0, + 32, 0, 0, 0, 32, 0, + 0, 0, 85, 0, 0, 7, + 242, 0, 16, 0, 8, 0, + 0, 0, 134, 13, 16, 0, + 8, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 79, 0, 0, 7, 242, 0, + 16, 0, 10, 0, 0, 0, + 134, 13, 16, 0, 8, 0, + 0, 0, 70, 14, 16, 0, + 5, 0, 0, 0, 54, 0, + 0, 5, 82, 0, 16, 0, + 11, 0, 0, 0, 6, 1, + 16, 0, 5, 0, 0, 0, + 54, 0, 0, 5, 162, 0, + 16, 0, 11, 0, 0, 0, + 6, 8, 16, 0, 8, 0, + 0, 0, 55, 0, 0, 9, + 242, 0, 16, 0, 11, 0, + 0, 0, 6, 5, 16, 0, + 10, 0, 0, 0, 70, 14, + 16, 0, 11, 0, 0, 0, + 22, 11, 16, 0, 11, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 8, 0, + 0, 0, 166, 11, 16, 0, + 5, 0, 0, 0, 55, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 230, 14, + 16, 0, 10, 0, 0, 0, + 214, 8, 16, 0, 8, 0, + 0, 0, 134, 13, 16, 0, + 8, 0, 0, 0, 40, 0, + 0, 5, 50, 0, 16, 0, + 8, 0, 0, 0, 214, 5, + 16, 0, 11, 0, 0, 0, + 40, 0, 0, 5, 194, 0, + 16, 0, 8, 0, 0, 0, + 6, 4, 16, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 5, 0, + 0, 0, 134, 0, 16, 0, + 11, 0, 0, 0, 30, 0, + 0, 7, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 14, 16, 0, 8, 0, 0, 0, - 70, 14, 16, 128, 65, 0, - 0, 0, 9, 0, 0, 0, 70, 14, 16, 0, 5, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 98, 0, 16, 0, 2, 0, 0, 0, - 6, 1, 16, 0, 3, 0, - 0, 0, 6, 1, 16, 0, - 8, 0, 0, 0, 30, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 35, 0, 0, 9, - 34, 0, 16, 0, 2, 0, - 0, 0, 42, 0, 16, 0, - 3, 0, 0, 0, 42, 0, - 16, 0, 8, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 35, 0, 0, 9, - 34, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 8, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 33, 0, 0, 7, - 66, 0, 16, 0, 2, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 60, 0, 0, 7, 66, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 2, 0, 0, 0, 34, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 43, 0, 0, 5, - 34, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 253, 255, - 125, 66, 14, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 1, 0, 0, 0, - 28, 0, 0, 5, 34, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 55, 0, 0, 10, - 34, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 144, - 144, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 15, 0, 0, 0, - 55, 0, 0, 9, 34, 0, - 16, 0, 2, 0, 0, 0, - 42, 0, 16, 0, 2, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 30, 0, 0, 9, 66, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 64, 0, - 0, 0, 26, 144, 144, 128, - 65, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 38, 0, 0, 9, 0, 208, - 0, 0, 242, 0, 16, 0, - 8, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 86, 149, 144, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 35, 0, 0, 9, 242, 0, - 16, 0, 8, 0, 0, 0, - 166, 10, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 9, 0, 0, 0, 70, 14, - 16, 0, 8, 0, 0, 0, - 30, 0, 0, 10, 242, 0, - 16, 0, 8, 0, 0, 0, - 70, 14, 16, 0, 8, 0, - 0, 0, 2, 64, 0, 0, - 32, 0, 0, 0, 32, 0, - 0, 0, 32, 0, 0, 0, - 32, 0, 0, 0, 85, 0, - 0, 7, 242, 0, 16, 0, - 8, 0, 0, 0, 134, 13, - 16, 0, 8, 0, 0, 0, - 1, 64, 0, 0, 6, 0, - 0, 0, 79, 0, 0, 7, - 242, 0, 16, 0, 10, 0, - 0, 0, 134, 13, 16, 0, - 8, 0, 0, 0, 70, 14, - 16, 0, 5, 0, 0, 0, - 54, 0, 0, 5, 82, 0, - 16, 0, 11, 0, 0, 0, 6, 1, 16, 0, 5, 0, - 0, 0, 54, 0, 0, 5, - 162, 0, 16, 0, 11, 0, - 0, 0, 6, 8, 16, 0, - 8, 0, 0, 0, 55, 0, - 0, 9, 242, 0, 16, 0, - 11, 0, 0, 0, 6, 5, - 16, 0, 10, 0, 0, 0, - 70, 14, 16, 0, 11, 0, - 0, 0, 22, 11, 16, 0, - 11, 0, 0, 0, 54, 0, - 0, 5, 82, 0, 16, 0, - 8, 0, 0, 0, 166, 11, - 16, 0, 5, 0, 0, 0, - 55, 0, 0, 9, 242, 0, - 16, 0, 5, 0, 0, 0, - 230, 14, 16, 0, 10, 0, - 0, 0, 214, 8, 16, 0, - 8, 0, 0, 0, 134, 13, - 16, 0, 8, 0, 0, 0, - 40, 0, 0, 5, 50, 0, - 16, 0, 8, 0, 0, 0, - 214, 5, 16, 0, 11, 0, - 0, 0, 40, 0, 0, 5, - 194, 0, 16, 0, 8, 0, - 0, 0, 6, 4, 16, 0, - 5, 0, 0, 0, 54, 0, - 0, 5, 50, 0, 16, 0, - 5, 0, 0, 0, 134, 0, - 16, 0, 11, 0, 0, 0, - 30, 0, 0, 7, 242, 0, - 16, 0, 5, 0, 0, 0, - 70, 14, 16, 0, 8, 0, - 0, 0, 70, 14, 16, 0, - 5, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 98, 0, 16, 0, 2, 0, 0, 0, 6, 1, 16, 0, - 5, 0, 0, 0, 6, 1, - 16, 0, 5, 0, 0, 0, - 30, 0, 0, 7, 34, 0, - 16, 0, 2, 0, 0, 0, - 42, 0, 16, 0, 2, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 35, 0, - 0, 9, 34, 0, 16, 0, + 5, 0, 0, 0, 30, 0, + 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 42, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 35, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 42, 0, 16, 0, + 5, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, - 42, 0, 16, 0, 5, 0, + 26, 0, 16, 0, 2, 0, + 0, 0, 86, 0, 0, 5, + 34, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 86, 0, - 0, 5, 34, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 2, 0, 0, 0, - 86, 0, 0, 5, 66, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 5, 0, - 0, 0, 56, 0, 0, 7, - 66, 0, 16, 0, 2, 0, - 0, 0, 42, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 50, 0, 0, 10, 34, 0, + 0, 5, 66, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 56, 0, 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 2, 0, - 0, 0, 42, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 2, 0, 0, 0, 28, 0, - 0, 5, 34, 0, 16, 0, - 2, 0, 0, 0, 26, 0, + 0, 0, 42, 0, 16, 0, + 2, 0, 0, 0, 50, 0, + 0, 10, 34, 0, 16, 0, + 2, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, - 30, 0, 0, 7, 18, 0, - 16, 0, 12, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 26, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 12, 0, 0, 0, 30, 0, - 0, 7, 34, 0, 16, 0, + 0, 0, 28, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 2, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, 12, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 30, 0, 0, 7, + 34, 0, 16, 0, 12, 0, + 0, 0, 26, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 22, 0, 0, 1, 54, 0, + 0, 5, 34, 0, 16, 0, + 12, 0, 0, 0, 1, 64, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 6, 0, 0, 0, + 10, 0, 16, 0, 7, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 8, 50, 0, 16, 0, 12, 0, 0, 0, - 1, 64, 0, 0, 1, 0, - 0, 0, 22, 0, 0, 1, - 54, 0, 0, 5, 34, 0, - 16, 0, 12, 0, 0, 0, - 1, 64, 0, 0, 6, 0, + 2, 64, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 6, 0, - 0, 0, 10, 0, 16, 0, - 7, 0, 0, 0, 18, 0, - 0, 1, 54, 0, 0, 8, - 50, 0, 16, 0, 12, 0, - 0, 0, 2, 64, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 6, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 21, 0, 0, 1, 21, 0, - 0, 1, 168, 0, 0, 8, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 168, 0, 0, 8, 50, 240, + 17, 0, 0, 0, 0, 0, + 10, 64, 2, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 70, 0, 16, 0, 12, 0, + 0, 0, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 198, 0, 16, 0, + 6, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 1, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 8, 0, 0, 0, 167, 0, + 0, 9, 98, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 241, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 12, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, 50, 240, 17, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, 16, 0, - 0, 0, 70, 0, 16, 0, - 12, 0, 0, 0, 168, 0, + 0, 0, 134, 0, 16, 0, + 3, 0, 0, 0, 168, 0, 0, 8, 50, 240, 17, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 28, 0, 0, 0, 198, 0, - 16, 0, 6, 0, 0, 0, - 31, 0, 4, 3, 26, 0, - 16, 0, 1, 0, 0, 0, - 30, 0, 0, 6, 34, 0, - 16, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 8, 0, 0, 0, - 167, 0, 0, 9, 98, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 241, - 17, 0, 0, 0, 0, 0, - 167, 0, 0, 9, 50, 0, + 28, 0, 0, 0, 70, 0, 16, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 28, 0, 0, 0, 70, 240, - 17, 0, 0, 0, 0, 0, - 79, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 3, 0, - 0, 0, 10, 0, 16, 0, - 12, 0, 0, 0, 31, 0, - 4, 3, 42, 0, 16, 0, - 0, 0, 0, 0, 167, 0, - 0, 9, 18, 0, 16, 0, - 3, 0, 0, 0, 26, 0, - 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 42, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 240, 17, 0, - 0, 0, 0, 0, 168, 0, - 0, 8, 50, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 134, 0, - 16, 0, 3, 0, 0, 0, - 168, 0, 0, 8, 50, 240, - 17, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 28, 0, 0, 0, - 70, 0, 16, 0, 4, 0, - 0, 0, 21, 0, 0, 1, - 21, 0, 0, 1, 31, 0, - 4, 3, 42, 0, 16, 0, - 1, 0, 0, 0, 167, 0, - 0, 8, 18, 0, 16, 0, - 3, 0, 0, 0, 10, 64, - 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 240, - 17, 0, 0, 0, 0, 0, - 30, 0, 0, 6, 34, 0, - 16, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 4, 0, 0, 0, - 167, 0, 0, 9, 98, 0, - 16, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 241, - 17, 0, 0, 0, 0, 0, - 167, 0, 0, 9, 50, 0, - 16, 0, 5, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 28, 0, 0, 0, 70, 240, - 17, 0, 0, 0, 0, 0, - 79, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 4, 0, - 0, 0, 10, 0, 16, 0, - 3, 0, 0, 0, 31, 0, - 4, 3, 42, 0, 16, 0, - 0, 0, 0, 0, 167, 0, - 0, 9, 18, 0, 16, 0, + 4, 0, 0, 0, 167, 0, + 0, 9, 98, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 16, 0, - 0, 0, 6, 240, 17, 0, - 0, 0, 0, 0, 168, 0, + 0, 0, 6, 241, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 3, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 134, 0, 16, 0, + 4, 0, 0, 0, 168, 0, 0, 8, 50, 240, 17, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 134, 0, - 16, 0, 4, 0, 0, 0, - 168, 0, 0, 8, 50, 240, - 17, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 28, 0, 0, 0, - 70, 0, 16, 0, 5, 0, - 0, 0, 21, 0, 0, 1, - 21, 0, 0, 1, 31, 0, - 4, 3, 58, 0, 16, 0, - 1, 0, 0, 0, 167, 0, - 0, 8, 18, 0, 16, 0, - 1, 0, 0, 0, 10, 64, + 28, 0, 0, 0, 70, 0, + 16, 0, 5, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 58, 0, 16, 0, 1, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 240, - 17, 0, 0, 0, 0, 0, - 30, 0, 0, 6, 34, 0, - 16, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 2, 0, 0, 0, - 167, 0, 0, 9, 98, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 241, - 17, 0, 0, 0, 0, 0, - 167, 0, 0, 9, 50, 0, - 16, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 28, 0, 0, 0, 70, 240, - 17, 0, 0, 0, 0, 0, - 79, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 3, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 31, 0, - 4, 3, 42, 0, 16, 0, - 0, 0, 0, 0, 167, 0, - 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 167, 0, + 0, 9, 98, 0, 16, 0, 3, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 16, 0, - 0, 0, 6, 240, 17, 0, - 0, 0, 0, 0, 168, 0, + 0, 0, 6, 241, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 134, 0, 16, 0, + 3, 0, 0, 0, 168, 0, 0, 8, 50, 240, 17, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 134, 0, - 16, 0, 3, 0, 0, 0, - 168, 0, 0, 8, 50, 240, - 17, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 28, 0, 0, 0, - 70, 0, 16, 0, 4, 0, - 0, 0, 21, 0, 0, 1, - 21, 0, 0, 1, 31, 0, - 4, 3, 10, 0, 16, 0, - 2, 0, 0, 0, 167, 0, - 0, 8, 18, 0, 16, 0, - 1, 0, 0, 0, 10, 64, + 28, 0, 0, 0, 70, 0, + 16, 0, 4, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 167, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 6, 240, 17, 0, + 0, 0, 0, 0, 30, 0, + 0, 6, 34, 0, 16, 0, + 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 240, - 17, 0, 0, 0, 0, 0, - 30, 0, 0, 6, 34, 0, - 16, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 167, 0, 0, 9, 98, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 6, 241, - 17, 0, 0, 0, 0, 0, - 167, 0, 0, 9, 50, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 28, 0, 0, 0, 70, 240, - 17, 0, 0, 0, 0, 0, - 79, 0, 0, 7, 66, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 31, 0, - 4, 3, 42, 0, 16, 0, - 0, 0, 0, 0, 167, 0, - 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 167, 0, + 0, 9, 98, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 16, 0, - 0, 0, 6, 240, 17, 0, - 0, 0, 0, 0, 168, 0, + 0, 0, 6, 241, 17, 0, + 0, 0, 0, 0, 167, 0, + 0, 9, 50, 0, 16, 0, + 3, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 28, 0, + 0, 0, 70, 240, 17, 0, + 0, 0, 0, 0, 79, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 167, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 6, 240, 17, 0, 0, 0, + 0, 0, 168, 0, 0, 8, + 50, 240, 17, 0, 0, 0, + 0, 0, 10, 64, 2, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 134, 0, 16, 0, + 2, 0, 0, 0, 168, 0, 0, 8, 50, 240, 17, 0, 0, 0, 0, 0, 10, 64, 2, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 134, 0, - 16, 0, 2, 0, 0, 0, - 168, 0, 0, 8, 50, 240, + 28, 0, 0, 0, 70, 0, + 16, 0, 3, 0, 0, 0, + 21, 0, 0, 1, 167, 0, + 0, 8, 146, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 28, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 28, 0, 0, 0, - 70, 0, 16, 0, 3, 0, - 0, 0, 21, 0, 0, 1, - 167, 0, 0, 8, 146, 0, + 41, 0, 0, 7, 34, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 31, 0, 0, 0, 167, 0, + 0, 8, 50, 0, 16, 0, + 1, 0, 0, 0, 10, 64, + 2, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 70, 240, + 17, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 34, 0, 16, 0, 1, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 28, 0, 0, 0, - 6, 244, 17, 0, 0, 0, - 0, 0, 41, 0, 0, 7, - 34, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 31, 0, 0, 0, - 167, 0, 0, 8, 50, 0, - 16, 0, 1, 0, 0, 0, - 10, 64, 2, 0, 1, 64, - 0, 0, 16, 0, 0, 0, - 70, 240, 17, 0, 0, 0, - 0, 0, 60, 0, 0, 7, - 34, 0, 16, 0, 1, 0, + 26, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 168, 0, 0, 9, - 242, 224, 17, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, + 1, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 21, 0, 0, 1, - 62, 0, 0, 1 + 168, 0, 0, 9, 242, 224, + 17, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 62, 0, + 0, 1 }; diff --git a/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.pdb b/DirectXTex/Shaders/Compiled/BC7Encode_TryMode456CS.pdb index f4d52a406ae988b2e13c91acdf69352609723e76..0b8933b88c88df15e9f81346a19ecddae6a47cbf 100644 GIT binary patch delta 9088 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 Rd@Xp$NY7Z=4d<7U{{iQ-)|UVP delta 9270 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 From 34c6849d74c07e3e61d26203402bd478a1cbfd43 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 3 Jul 2018 18:32:23 -0700 Subject: [PATCH 2/2] BC7 GPU codec optimization of parity bit calculation --- DirectXTex/Shaders/BC7Encode.hlsl | 79 +- .../Compiled/BC6HEncode_EncodeBlockCS.pdb | Bin 380416 -> 380416 bytes .../Compiled/BC6HEncode_TryModeG10CS.pdb | Bin 288256 -> 288256 bytes .../Compiled/BC6HEncode_TryModeLE10CS.pdb | Bin 298496 -> 298496 bytes .../Compiled/BC7Encode_EncodeBlockCS.pdb | Bin 226816 -> 228864 bytes .../Compiled/BC7Encode_TryMode02CS.inc | 2837 ++++++++------ .../Compiled/BC7Encode_TryMode02CS.pdb | Bin 185856 -> 189952 bytes .../Compiled/BC7Encode_TryMode137CS.inc | 3472 +++++++++-------- .../Compiled/BC7Encode_TryMode137CS.pdb | Bin 185856 -> 189952 bytes .../Compiled/BC7Encode_TryMode456CS.pdb | Bin 183808 -> 183808 bytes 10 files changed, 3436 insertions(+), 2952 deletions(-) diff --git a/DirectXTex/Shaders/BC7Encode.hlsl b/DirectXTex/Shaders/BC7Encode.hlsl index bd2d70d..52b12f0 100644 --- a/DirectXTex/Shaders/BC7Encode.hlsl +++ b/DirectXTex/Shaders/BC7Encode.hlsl @@ -680,16 +680,16 @@ void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode if (1 == g_mode_id) { // in mode 1, there is only one p bit per subset - max_p = 4; + max_p = 2; } else { // in mode 3 7, there are two p bits per subset, one for each end point - max_p = 16; + max_p = 4; } - uint rotation = 0; - uint error = MAX_UINT; + uint final_p[2] = { 0, 0 }; + uint error[2] = { MAX_UINT, MAX_UINT }; for ( uint p = 0; p < max_p; p ++ ) { endPoint[0] = endPointBackup[0]; @@ -699,15 +699,15 @@ void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode { if (g_mode_id == 1) { - compress_endpoints1( endPoint[i], (p >> i) & 1 ); + compress_endpoints1( endPoint[i], p ); } else if (g_mode_id == 3) { - compress_endpoints3( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + compress_endpoints3( endPoint[i], uint2(p, p >> 1) & 1 ); } else if (g_mode_id == 7) { - compress_endpoints7( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + compress_endpoints7( endPoint[i], uint2(p, p >> 1) & 1 ); } } @@ -748,10 +748,12 @@ void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode step_selector = 1; // mode 1 has 3 bit index } - uint p_error = 0; + uint p_error[2] = { 0, 0 }; for ( i = 0; i < 16; i ++ ) { - if (((bits >> i) & 0x01) == 1) + uint subset_index = (bits >> i) & 0x01; + + if (subset_index == 1) { dotProduct = dot( span[1], shared_temp[threadBase + i].pixel - endPoint[1][0] ); color_index = (span_norm_sqr[1] <= 0 || dotProduct <= 0) ? 0 @@ -764,8 +766,6 @@ void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode : ((dotProduct < span_norm_sqr[0]) ? aStep[step_selector][uint(dotProduct * 63.49999 / span_norm_sqr[0])] : aStep[step_selector][63]); } - uint subset_index = (bits >> i) & 0x01; - pixel_r = ((64 - aWeight[step_selector][color_index]) * endPoint[subset_index][0] + aWeight[step_selector][color_index] * endPoint[subset_index][1] + 32) >> 6; if (g_mode_id != 7) @@ -776,20 +776,32 @@ void TryMode137CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode uint4 pixel = shared_temp[threadBase + i].pixel; Ensure_A_Is_Larger( pixel_r, pixel ); pixel_r -= pixel; - p_error += ComputeError(pixel_r, pixel_r); + uint pixel_error = ComputeError(pixel_r, pixel_r); + if ( subset_index == 1 ) + p_error[1] += pixel_error; + else + p_error[0] += pixel_error; } - if (p_error < error) + for ( i = 0; i < 2; i++ ) { - error = p_error; - rotation = p; + if (p_error[i] < error[i]) + { + error[i] = p_error[i]; + final_p[i] = p; + } } } - shared_temp[GI].error = error; + shared_temp[GI].error = error[0] + error[1]; shared_temp[GI].mode = g_mode_id; shared_temp[GI].partition = partition; - shared_temp[GI].rotation = rotation; // mode 1 3 7 don't have rotation, we use rotation for p bits + + // mode 1 3 7 don't have rotation, we use rotation for p bits + if ( g_mode_id == 1 ) + shared_temp[GI].rotation = (final_p[1] << 1) | final_p[0]; + else + shared_temp[GI].rotation = (final_p[1] << 2) | final_p[0]; } GroupMemoryBarrierWithGroupSync(); @@ -955,15 +967,15 @@ void TryMode02CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode uint max_p; if (0 == g_mode_id) { - max_p = 64; // changed from 32 to 64 + max_p = 4; } else { max_p = 1; } - uint rotation = 0; - uint error = MAX_UINT; + uint final_p[3] = { 0, 0, 0 }; + uint error[3] = { MAX_UINT, MAX_UINT, MAX_UINT }; for ( uint p = 0; p < max_p; p ++ ) { endPoint[0] = endPointBackup[0]; @@ -974,7 +986,7 @@ void TryMode02CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode { if (0 == g_mode_id) { - compress_endpoints0( endPoint[i], uint2(p >> (i * 2 + 0), p >> (i * 2 + 1)) & 1 ); + compress_endpoints0( endPoint[i], uint2(p, p >> 1) & 1 ); } else { @@ -1006,7 +1018,7 @@ void TryMode02CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode } } - uint p_error = 0; + uint p_error[3] = { 0, 0, 0 }; for ( i = 0; i < 16; i ++ ) { uint subset_index = ( bits2 >> ( i * 2 ) ) & 0x03; @@ -1036,19 +1048,30 @@ void TryMode02CS( uint GI : SV_GroupIndex, uint3 groupID : SV_GroupID ) // mode uint4 pixel = shared_temp[threadBase + i].pixel; Ensure_A_Is_Larger( pixel_r, pixel ); pixel_r -= pixel; - p_error += ComputeError(pixel_r, pixel_r); + + uint pixel_error = ComputeError(pixel_r, pixel_r); + + if ( subset_index == 2 ) + p_error[2] += pixel_error; + else if ( subset_index == 1 ) + p_error[1] += pixel_error; + else + p_error[0] += pixel_error; } - if (p_error < error) + for ( i = 0; i < 3; i++ ) { - error = p_error; - rotation = p; // Borrow rotation for p + if (p_error[i] < error[i]) + { + error[i] = p_error[i]; + final_p[i] = p; // Borrow rotation for p + } } } - shared_temp[GI].error = error; + shared_temp[GI].error = error[0] + error[1] + error[2]; shared_temp[GI].partition = partition; - shared_temp[GI].rotation = rotation; + shared_temp[GI].rotation = (final_p[2] << 4) | (final_p[1] << 2) | final_p[0]; } GroupMemoryBarrierWithGroupSync(); diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.pdb b/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.pdb index 6ce8bb4db4c957cde98282f11aeece1ba3896b7b..ff3613ae5acbd9c66e3a51b540bb251fffbb8ca1 100644 GIT binary patch delta 170 zcmZpeBi=Aad;<%YM4XaMG$R88L-bL$^y8V++-Awfo#UK3p=z@XR|<>t^pDI8M>?1o z%$_nbum~|RG%aRisQSvtFyR4n^K8EDv-ucvpK_Y1%n>&ezQV{j(NVwM;S1w-hc8T4 x=a?>(Pp>(|tOlZ&K%4wcy&LEnOf>#o4HwrD}_b+MHK_Xkq#yX zv!{#<&Vft}O^X>Bs=hKZyjNjpp3S#?HXmc|Q_haI54}dhR~Q*5I_kGOd|}+~@P*0h x91}y-^qND=Y9M+Egl<1`h&Lo6%4vk3HmVBKD^i?xRlrwg{r>|uQ(2mrQDJ$L{B diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.pdb b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeG10CS.pdb index 0ee35c3ed7d3b0c82d289095a5dc6585a6eb4ea2..288b0da2c7bb133360d6a9bf24e8ad1a4d726d79 100644 GIT binary patch delta 139 zcmZoTBiL|8a03gMM7WYoG$R88Lx$69zSsGw-V3XKMIBTLQQs`X)xg5vbc2~8YBDo} z!Zjv_LyMW3SMzOO&Bqw~ly&3vWx{6LdA~63&0xAvKK)D#lNyk2{}RKr{YwmU!*`a7 Wesk9C6(KA=j5w{>E)&M`gdYIP3^Q^7 delta 139 zcmZoTBiL|8a03gMM4F6EG$R88gY?BjpMP2t94Gq)9w=FxP`X)$tAT~TQh1Se?)PQvRml&q)Ut*XWzO$U@ VQ)Jv;5yH~Lh|`MgGGQ!F_yL;>FPs1X diff --git a/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.pdb b/DirectXTex/Shaders/Compiled/BC6HEncode_TryModeLE10CS.pdb index 497aef8a598150b2eb9eedccf814524fb3e3a023..af18b24c3610ce26830ea59239b83aab7f920e78 100644 GIT binary patch delta 195 zcmZpeBh)ZQXaftEM1+z}G$R88!~a`ek62nB`giLXmq^>_hHjSOn!zGnP{zPuw2PU6 z=^rCQ%o_%V{nr>7w7)Yk{E%dBKF_!PJRhUwQ`U%!jv{8;dA~3Q_A^~5pPtanqz0lp zAawhNW~S{MnwgWna9XhfEn>LAVzphmf<>E&>5cmIIaMrD)03)LgqQ;+Y@A+R#i9%p S-3}DZV8rRP?J_kiPXqzu@IjgY delta 195 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 delta 15951 zcmeI3eQ;FQdB&e}^?@WLA+P`mguLJd1Qteo7%#BE0wTzm*rJiK9B?dRfkmv?8&^$~ z4$fU-rBPyBi;4ljun(sL) z9CP`!ab7jw%S=x%+FugiC#}%D?6Wh!diPHf&;4p|>8xMQAO6#lob>$B<p?O2ZHD z0nYTcFVEjKe{OynUi@nZZ+#b7@V99gXmzme7X~l9Zcaau|Ks~@GR>J`E6Sb4_DRQ? zZcEdg-*Z;2v!6a)1ytVe;J8!+c##X;&=Jdar=4>;$ zWy#3q&5^^)B1m-85uI9ijD0D?weC>&HmAL}F1J1TNNM}|Z)~!=W;nC@2lJdibnK6EosFl@J^GrlFVAwO*@yqttY|;` zx!KnpJ`^cS-h1%jhaY-45|4Onf91%cY(Lo)N!q{M=oH%pubb&6X;(*|JtXvtnui?Oh_aCf}9D4YnPe#_Pjx;?KS+}>^X ziMHSM#ZCT%d}fn#M?o+H8}o7^^3R)sewl*XTK{a@Zj)DXVzfMziyOi1;F`S`_0W}SJwGlz+fnB-+gxus%I`l2GZq!kavXgtWa*7wwOfLMX#?@F?&|bBq4(hcF^XMJz8lt&MYX^O$JNl2bN3ES@xw$ zvu0-Sg!MVBlQ`SX++ns{i5-cxb&fr-!>q{;TBq3)JIwY4RX1v%Ef~FK7`%|}D_hKs zIaS`Qluu7L_G8=4wwxi)>oVJneP)N*=A2n=^LLtEIRk68s|IxXd3Mh_x;LAR#WTxM>39x%uV<_ z4Dx6wFOZQ1d08meXXxi=Q4z}ZnFP7a+m-$cujY2;F0;w$DYXyoGINT1yn|n2E`}QG zIh$oq>@stUvli-Pmzc>Z)eZI~sWuJv7rV@D?m6$=>@lfOE1l~gZwcl4jDoy1lzY#p zSohXr+CsVajF@+Xa_<@WxobK@6*~Hcd45OTpxP zpkRZMP_6?S@Q*tRLYILKD98h4Ei$b{$XzlfYD`yBIp$eTMtR?BS&;~l7Ag>JNI-nr03gtSWmK*#5RflpN zP>|PL$?wX5jwq<8y;9-d*DtZ7x=^kI3iA3;t^*4427B~&v%q;QX}fPX^PSFw{o(EA z>03L!i!Fsn=!oj`4)SOy*YO5<`1YaCugE@khg{)B-Zj*T@ZCZ;E3&UhwVUv+fD{s; zUUhFlUKz@Dvmmbu<+`_XUO%0v4&~ZUkk^EA?T5LG+E9gdG(KMsOA2+NTssQ#`cSSN z1$jd#*M1tjE2#|0P_F$1d6SptUVWR;P-1^wZI(L6FWEhNOrc%5$7ITjz?AZQ=a~Wf z;2u+9&e-H0bCZuH_R=0x?G}00L@X_Q(Rqi$%afRTary0&a{s-0C)Y8ydhO*EMDlrj zC!_uN`Jhvcnrp5*od>CNW#Vd}7hWkh(#{6F&bplzWtp0Xro#;$D3gI$FOX3Auu=xqyQ_J|!RbI*KC^%C#Tn zCVXLgN8W2+1HG`lS<2`8&FCT>QJ;PJBWAW6^Q7D8(+l^kJyd&jttNc$(R{?aqLT>U z8gwKQreN9Cvo*A?*A?jv=1La9Z-RH zKw{S%sPt&4V(O6!HfXS)-D{T2K9})o;!Nn ze!JGpoflM3y@9vQw?EPD+x*SV)El$7rgsw&3o?87fS4AsV@%dr{0fa_LFzZ z%TdgG`&|hC_Ivg28?z_wHaq9-_nw@bsZ%Crf3bZ>_a4+wot)lcd(%gyzL(oiogAtE znA8`id(STRp2ZeW)?1%Ts?Y4W&C#H>T)ZLZX)AyK-?sHN1(I*DKbW_^lyxU3^U)K%% zTIT7@&GJM38TsG2!!I|d1E(a{-#VMqkRqXL1l!Y*B2kbB9F=+!CE`cKNhHJ{5%=h( z0gV!TP686G;*zIGoD_dloWxl=i4i)92|9_~e1Cfq<#eSh9ixf?i6osw3!TI%I*B3i z78xLk^Wt9+CowGkMR5|B#E**$T`izQRyM2zB-YYNB*dSTdJ?)4^0YXKB%MSnokX{I zm$WBwhJI#-ygiT#oM%8{T>OM=KtkSYdrqQ=PNG8m8EH?VicX@APNG@-S!v(w`USKx zAkjl7aZbEjHXt!VCow@MktORr&q;d{QSs-+NyO+b3y3oyQA;OLFMd)wAfYQpUlk{D zl1^fPPGU^_Yto*?r0;Hu1!TBy zah6VEm`-AXP9m$&?~g=8+|?auL5P^}JK`j&=_DHHBvNz|U33zCbP_{!5*G^P`v0!% zPzp+n3%@5$0<(Q5QA8(EK_{`BPNJSp;s~8Y$85R&PsOK2szH=p;tzBrelQ z6wLAaBT+^tkr3~b{gJ428C3d2mGA{=pp@$s^>h*q;{8%jB1I?BNhi@uCoxDT;f^sN zaasI~?0`hUT;EBQ(McreBx>m-l5`TS;(spvlP>bhX48%(mEgf3oaJ&A<)Yq|rU(6@u?B%0|Y z^u4y$d(_u|eSfF{i6J@(eRHilBoUQm4Rz96{!mZ&xwo*Wt_zGpoMd~_TjtPuUG8wT zfi58G07&RNPIVFyIthKduJt7J9jH2qCOQdy`>s1AF+>---UxNQL>rLaN~F53Na_H0 z`%IDEdWqKSx{227f};+AgubO!CoxDTp}!Ak{e==a{!)-nO8tOD37v%ghVZ&wY zL>-+(6P-jWokSPC%k>NB73RsCND>3$eS5) zy~_e>C3sl^67}Lb#UxU661s-3^`y5}tFCLddPwxwesvO)bP~GEB=v5J1#gX3H_)|O z?LgN7)JZhbNpIchRjJqYCn36grbzVCNpHzX+w0Pkw$~-5SM~MZF94$w=rJa}^(FNQ zKZkyHrcR=WPNJMnqJmDMhEAeUU0?sbf{dtz4M=o}>mec0Bd#+-Vt`I!j7~y7N744A zw|cFvtJp$sfkdzWl&*+qu%8={-eQ^7>*AQ!>#DUn=`Db$>q3au53!!~7RhwVb+JsR ze9~u%M8P7t{jr;@NJQx*5_A#`E`tW2-g>@HX$!rZ^(4;HNpJN}+mEpQ zCDxPP8j{xQ(vTjaa-S&@uCDIs6qDFbCy}I+XrYtx;jq6wi7s(HBqVz2BnIfDixCDS zF49R%&`A_7_IE&{oKB*WPGZ0Ks0@filI~NEe+vT=opchX=p@e3NsQ7-ToQjnc1R*? ziSHyz=pOa;zk&gYN;-*JI*BGaiDTkFksXrgrjzKSlNh8cUD*($3`k7SN#ri|cR(U4 z{!`f@i8!4^4V^@z_|K$0iDPu3s}<;BKw^ka;)3`;N(Us;WvNY_M1)SFl1^g3_|K(1 zi6itQWpezb0-X#Qi7fdRhSrmaivP1X3H_FaI*B+v?)nAPG9Xbe z{x7lti4>hg7oEg8I*Cy_iOX~nMa%vET^0~yK%$mTqLEG_MJLfgC(%PEF+eAA!FM;s z0wCYs&}U2{N++S;?s!w`Nz~Ixr068N=p@e2Nep=|um65Q-UYJ(iAg$%qH=!#B-YYN zRMSc97r!V2CXu9*I41r}ef{?edKG9OPGXQwVw_GQYlYvQM3hdVl1`$YPNGHJ)g5X< zh;B9@agI)6j85uzg7B7XPa<9XZE>ZX?TFAxM8*F@>Pf_JlIvdsDJW6H1|%BkBwFYs zy67Z&=_Cf|Bu3~YF5V>9|K&6sy(kqzWUcgF`5W;PVOBbhlBgB`tqhn%l1`$PPNJJm z;tZX{d6&U?pSVCLahXmcw*q)a227%iu6$Pp92cg^?-3+w=p-8HB-|DTB)aG%`sgGE z=_E$!BqqeuWyVP4uJT=(kuK+i@Ygbfr0acAO#}VHnh^RGEp-yR=_DHHB$~u8NqZ7) zbP~OE5<}wuChdL7@gHYE;*z+Ylq8B)`%YplokR_tM3PRTgHGa%xSn$!_4R+40f`B^ zQcuF%HU0)l^$1<59;YkSYw1e$M!HhHm9BI(=w(2fVe$Wz86Ytt{$JuGF40No_c-*b zAQ7dLNYF{t(S@#Vh$9S0bkj-b*YWhMCox7RF-ceIRZw)Z-(IO+PFJc|(W`Ej8INKhdaLevQ7iYsL~ z4M{qQCh=maC($83Pn<-b_8aCE_=VlPD8kAx@%- zPP(XLK%#|CqK8gmh)!ahPU4dIO4%Wa!Y%R}wm6Bk;;Y1c%JHv}V6_A!YQ@)xlh`kQ zi#Uk}@%7>)TInRZ=_Cf|B*y6;<@!f%!tano8J)yh@r|-W5;fv+aS~19o5V?Uh;J4r z(J8(~oJ5!Sc5$UE1@uT^hXf=B=_JPJB+|F~?Mal;N$jSRXrPm565lEN6S`VJhXhp; zkmwV?Rh-1I_%3l0BjUG-lNc4>Cr$#}fIGxV-{yK1sANE*fllHWokTC4 z#1Ngti1VP zhfZRM?y`Uh1|)JT{T+}f62Dh=NFpX)Cr+YP{D3%#X7P`UlQ<$?FHWM{cQ?fX&anZB zQ96ln@k7!9iL4#IlPD9vU+PID=p-t|KOyxb8pIz+zeTQNuOM%eeWpmXi8smyBs#=D zDekdXW|rHrHkmc~Q8sO+ zd^LFvmh{g!Zk~4B4f0n7>*XnbaL$zN^W^^`EcU47JVd0=>#uk=vatlqsRPUnu}Tj%vhUv%D@cDy?CE1OMvf61#(g;TCy-HgcVlwJtIKSwU0 zvFm+HtkbV}0)vmg4ck2Il;wuEu&0Kd66w7E#bIZI`5*rf`|BmIJ5K&bm+Bvg$hUu% z7*y@G%SW8j#fPNtA4&G2JPu0vUU_s$SuRPuB#$4<fD~Wk*Gbhd4@xBucHaR#L7MyUQdvOU-I) ziP`t-ey?a`d&-l^RLvh2b$R;vzH?5W?mpeO``jyKPEO2RnAlc1>5~o^&PDk1q&rfF!)@6FaMJD z{v^P;j{y1C6L|I)0e1e4L(b#?eJ()FR~*`g6Zq9jz`k1@&itXn>Ay?>g;96)|EY&| zxo;G1d)(*z(9LLn>5WqVm1}OIpY>b!0ss0ncZ+}WM{d#ssmFKk-LYqT%a+C4QY%uQ zO;uN=s#DJ_FPMZvE6$`;wUdh_-Vt$S!wRVurbdd4?ia#K$~{Hgn$ zYw|Esya@w(fQtV*?{R<2AfYH$3skIVe_mhTk3+#mcfcT%?HXyxsh7n}Tr zT|u&a;PbQEhrgYZ|H-F6_Q_rQw(s7%bJza%y8R2=XKtQwx-av;gPxWN!H--~*vFRL z`*-cx9`-clAIc9Fws#*&`sd1nBL9gw{I7aLkkj5cH^)D`Bp6??Wzn|Of)%N#QhU*! zVwTSFUrz>8V`Zwxmf8Mdk#Bm-P4VUPg8A)*&yJt8W%ssJt@h9EZN7X%aL43mZ!y94 zqYn9l3xesBvb#FUJbxsZ>kD@T^S-<*f6^9Pm6}4S#51<(frhb(SuvPZF&2jzERTt z|C(oyEw^|~xt`w^1YezMBV?&>s|b?*R~5mm4`$n5a$}VI69Yx1vcu!XK)JD`A=Ccw zrw;n>&kcs+BV$p|Z|4Orw`j}QwVlqqxMIBb4+N9iU;2Dr{!K^xSO3%9)?R%3 zMdipv4*zB29kF;a7WeyEJ9#;5YG|eJqq#coR=Nk=9>31e>W>(X`=1i&k`=bn^R6Fn zpqg7@>jKwhZAQ6ESQ?94AEJ0aYGU#H(Rgd3HWs(?ecWD$)J^SJ`;3ocV%XLA7gxDe zqdUM~Ughcw8kSkDoFIn-BHexoM;6%2?X^-|Nd)y9Z{rPPNuX79^Rz3oDDpv$Z5NB>f|6+-)-x zEC3Xb9u2e6qWI%9F$x!HD(F>Y(m^FLbSmfzbI z?v9ap9I*H?HWnQw^Em?TZG1fP@(Latm&`wi|5(ERKG&Exu3*-(KF;*3em3hC|K4;_t;3{ zKg71#*?4oTyzQz!U%rl)wLUesFP64yef|+kx0TrTRiZ1FwzakSgYooL zx-c9cmFSM8t#&qkCKk7qX5+oFxHXrJpN++B8`{)E{gjH9&|q9nRc>a$acKE*4bqsMeIx5()p42i>Gu z#qrQ42@iBZLCU>w+$Yw%g+XS-=dO42#sl~B3@-FL*1PrTk#Iy81}%J}jgM&SX*?Gn z(bn5|E5|bpa02vSCEbe?M$=7W3Pww-q3d|VE0VndqWN18yde@lHZtp zXUMPl0`hA<-^9aFR&cNLmnK%{G%^joam=&>8KrsH@8EHn$aeD3NE`j}U)t!(7uA&8 zsnVUehMhrW>{4KRHJ+s(8Dc#Ynl=*O`jK4h$iE#V5I z+}LY$JeM6gKh&t%#G#$TqaBW#72zGl7n}2SM=_lzdTR-<&x^<9B+Bx}`JzTQHTc{` zKflqXg3cPhzR}I+P4v^I4EshmlT!%KY~+JU%Nm#eSl1jIF2|h>mF)4hP07Y>m}KL& z+c3|{kDwwJxANJzwR2-wmG)}5bj6N}?crYk#3Ob$t91OrZ8s{t{spF|*Mt|)#-KY^ zI~;7K{8O{ss2`E)Y8L1XP$XKn4-cup*C$2J>J#^TnUY&<^}4+mq| zel-eX@o+Fk@idBKiEuEgLP;!c9d1>;jPdv&JsTdK1Bo)!C&muacy8<dxc+dx0Adx!HS%!Pxk>lXO`32=Q@mM^|zGoe#O9(rlslV7J3O z?BDzlZ&i@nrnOu@%O1qbCl}8(U#Kw;{UE84NE7orxM$-gH5*?TY8dZdW`v zcDv%avD?)UZdbHEUJs_;v|Xb~fACRv>%*hUzKz|Kc+M^X*;}K>^(HsSd#&8)Qjl9v zJZ?gwyUl<6F}`&*`R5*UTOK*T!mdk)(apNqw(?YgO>%w?3 zj`?LDam&-$>Storz4DG;WxY_r0(N?{Bituetoq3WA2+` z#%(U{Qvos}Y}W1J1TrED3&0yAWJHwFKT8);M?XLhnGSd{XW$tIM6}ZXm@eWt{d05? zXXPRWq@TIX-Co*8 z&AA02Q5G>1(r>f$5vF%COyWSqOi2HNrN7K{Kf@%3B4$GRpD~?oXS#x8g+y({jEGJ2 z=b0B_lZoac_Q*xF%0+b0Jggw#7qOFmiY}s+ewr?#OD>|9eujAw19H*k|I&Dc1#BXaLHh z<|2;EMc6ctAO;S`SL zZ7RpwvnL4akcfS95p8J&Z2HEwuvaePs$2}GbF4wTHM8bdgUSpc zHic^e5jN3eE@FdR3@6AeZxdx!Kcl>ePPvF~xrp;}GCcn=tbm9SxrjpE=hzBGRLVuv z%SANFMcAi{R$oM?ymNLs+JZ9*h!~KIxGWcuOhpZfNXbRi$VD{DMKsHs)6oJl3W(^G zi|Ce%I8Xl;w@AbVdLLcHCAo;Jbh|EyC@haWt%Y#zF1(OLiEtju+~%XmaC*tyrjpEC z)qsdDxrko5hyl5XOOdBDS^(xmJrYqO7g0_BTXsOiQhGmKM5A29R=QoNMC_M~;SAKd zAkFhUN`&(kR>9^k?8-K%3L>t`#qfE}%G-0BmA7dKa}oATVlHB*Tnrz-&hh-u*mIaQ z(5V6-?A{yv6s6=d{hhrilTI3=+ zzXE_i{Z4S4q;iujEEY!h)r@4EolW>BI2-I#0j~Gez}NYxrh|=ykc&7;|2vi!)96<~#E@LXRk?`# z%BTSm6><@^auJ*4BKF85^7v;I5YZtQaY8QQtX#w({Q|d0#1*-S$%2p>5liJu{okX`=Q7;#in{&+>G?= z+*teS6p7;zGa~xrB8KE5uE<5?FAm$uh)Bsr)XGI{Ud$81I>3dn1N+FI(?zt(MVzGn zf_V}BauGvv5m)6R@|Q&QMN}{031JOZM+r2jfQTl!h(mG_$K)c;$VCjwMO=}KNT!!Y z9Y{t*m0U!uH9LKAE-N6y zz8q>}LPV8ZM1$ODV`Qh?Xue-=H1Cib&Aa8@X$ATfFj|3OxzRkiJnE3>s_56b2SilU zT>=M1Y>B8!e#&PJ z*vEC&z>xA{_-UWz?NdL?mqpBo;irBRn72>=NNkFj5z%a(W`S_QdZ+>-+TYN^vXqCl#3XV zizuw)`F{%=;DQmA5i=s{kTL&YeS1w|pE*%vZP=U+j zR8|m?TphWH6nz@=B5LF!w#r59qgw|=9F~hXo>t&^MD&r?0TDxT5m)Kf0TKE4M=qjT zE~0@xo#l-$2fR?pMWmYCweBQVNKu zm5bOU7ttaYv5#KC21Oi}i#Q<{(I=0{<3FT;h+(`5| zAfiDoVvk%zn_R?6xrko+GOj?xkX*zydM)#0+7?i@7FfZ6h!lM#T|@=_e!7TidOcl4 zqg+I@T*P6yh;DiJS{{EkgbNCY7^JV|3PfC!izs`5zmLhhh+6uCbP;v*^>h*Sbo-)% zh(`J&^u~0wfEEQrw8}-Cl#3XUi?}QoF+%?!S0JLSA#xG5^ba$i)&jON@F)W!n&_M9 zB6iYu(?zt>x6(y)&_7BSaYioUf?ULv$kQ1upm<%>fQV|jh+29RS0JKEE+Rw!IP)U9 z=sW2mj?;J1MVz4TPVoIdTHt5W4E!Mrh`1;haak^+@WH6Oh^2B7jdBrN=})kI5gBuP z{|^^92)h_)p^NCF{}Ek8KmC(*5trm5lIx?qhzhxgYWmZxFQSpY+XA*gqJ{kTbP@aL zpQelGq<@Ak;+R}SAN{k;i|D5xpoi>vF5{Lb(s{TIllW=Q4KAeLMUOaz-wBz5WqiF? zZe-aFe7z^8-=W}pT~W5&ds@*utjFrP4gRG=Zl=F@$bF6X{{Or!{XLgYzvo^2dtR~D zd-Mx#`nHXz_0e00aw_t&506xYA%D#otz?VcVpGK+BYzp4BcBYW9C z_}ADM<8^BMo7fqXZr&L^KWTM~a&9TW?U>9@%S1o^Ik#)Ubj%I|#v+c6dAv#(=i(l6 z9{1PWkX-Kh`g3k#kiH)kSk2h)#wl!n3TE+Tyz^c7?)ic=yE})SD$u_o{?3dwXq7q%fY&b#&Ig45aG`fF54Hh?Wcyz_M1!g^8}ae z_fhQUFW#-Z-`MU>pK46H6_YS+iWQ$8419{SZ*NXO$&?v%`%b^90GNw*>nmUIs z7DO=+uGV7N)h7K9j=DAF_M5i$t5nt#TekEhBnu0;JPiTz{oUT(mRBgf#qaQLcF|<2 zl}ai+*&p%lR{l|m7g_lJX^bXfTTw#KuC_E>MzDIH!}q@F@YkgYG=3<7kCt-Q<7WxX zIOf>r(=Pc7_h0_Rz5cQH|MbWEfBNJ7KmAc)e_rPOKm8H?nV;YFPk)qu;Yj1RkG>Mr zxk-NYE5U46HgHYU)1ul>4dE&KTRWM~cy@{_K ze0_|skMs4lp1&FhJ{Y)T-u->>(!5t${O|a>z}I-bzR%Y#7JHnpPw=&yuV!~-^_&TN Zxby^HdmZ0TuDjEP$t$t{jx^r>{{i}b?2-Tg delta 17313 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 Dq54O4 delta 1833 zcmeHIZA?>F7{2dITgoj3#IW#D*nySOmTtBT(b$#*$2O*$5|mlp2dxyeG16KaHAWOd z6bXrroVa%+s9+Y&qA`rSd6UINhK!JzY~Vh!B`)e;V?v2$KUl<_f}hKb#y|e?B+ot1 zea~}mPM&k0`?mEN+WHKiIpjgDG&dSSDb)Q4L+C(=D}cYikWQn?UT^Yz1VZ3%?JC&e zZma(CS6y29iMPH`OmdATeV_)Uw7(_Eei@~ut5MmWc4HGorXii2xmZlSaWGK9G}NK1 zg0@XVKApTE)*Pdt=Z>ASfqB^nRlbJ$_g1Z?+AHvidSe=vL#j2xDl1vY#w^Umt4^3H zehYGG%Pm-INi0}H%+AVKDRbH!Y)<;1;<7#VP|LIH7pwiZ;j&gMw&Zm4Kw~Z)o&gUZ zKA_35S~rGb+aGMnxy$LYF|U`oXj?VfdA?8PgZ@+=X)WLrUwLW89mrJ2|AE~|muA4N z40rqnM}Ed+iv9_&^YeSN7KWOcHPX-&jfSJl!{%l_xu+;)zT#yO`rd{)ls^gvh>$A> zOUM|+Y(6olr9)RCnU(}GkKRG_ka02U>2xXP>7(ITAQlR@kRu)6hE{&P(oS{-E7e!*0?#)vZ*P^nxo;Z?9DP33$u!HK5*Rkl+z(`I_=byhgY86R3TD2p(>w3S&Qe^Rao+&9QD$Py zIiLy$Rv!F%`THQxPR&jwK4g1|Dldas(0#1JFqBeWLXU-Tf@9Q`` z-t|UO$hgu}ys%&W$q%!|^+BB^LB@PmO#k6{uU;tXkMg8@_1Kg2RM-ixK}TZBBY!8H zL}`nvKM21kCCIgIxEp*KrRfO4d#?-6j9z#0#ciJwPGR57#8I>hzO60 z`-=jf3hoo=6I=vL8dC#f_%6ax_1ke=gK&&eE+NlN7E3<}tQXP^0*Q9^iNMFuQ&lJX W1q%pl1O@bWLCMg^AG!3@mi!BO2Og0C