From cbf91045d112684223420593805241a6c99bc283 Mon Sep 17 00:00:00 2001 From: lsuper Date: Fri, 1 Jan 2021 22:11:03 +0800 Subject: [PATCH] Add 10.3.2 v26.0.34749.6593 Activator --- 10.3.2/Activator/Activator.bdsproj | 183 ++ 10.3.2/Activator/Activator.dpr | 32 + 10.3.2/Activator/Activator.res | Bin 0 -> 11652 bytes 10.3.2/Activator/Activator_0.inc | 20 + 10.3.2/Activator/Activator_1.inc | 9 + 10.3.2/Activator/Activator_2.inc | 4 + 10.3.2/Activator/Activator_3.inc | 4 + 10.3.2/Activator/Activator_4.inc | 4 + 10.3.2/Activator/Admin.res | Bin 0 -> 1432 bytes 10.3.2/Activator/FileUtils.pas | 65 + 10.3.2/Activator/MainFrm.dfm | 425 ++++ 10.3.2/Activator/MainFrm.pas | 736 ++++++ 10.3.2/Activator/MainFrm_1.inc | 49 + 10.3.2/Activator/PatchData.inc | 3415 +++++++++++++++++++++++++++ 10.3.2/Activator/PatchData.pas | 26 + 10.3.2/Activator/TMainForm.inc | 1 + 10.3.2/Activator/TMainFormclass.inc | 1 + 10.3.2/Activator/WinUtils.pas | 383 +++ 10.3.2/Activator/uses.inc | 9 + 10.3.2/Dcu/dirinfo.txt | 1 + 10.3.2/Keygen/AnsiStrings.pas | 7 + 10.3.2/Keygen/FGInt.pas | 2282 ++++++++++++++++++ 10.3.2/Keygen/RadKeygen.pas | 328 +++ 10.3.2/Keygen/RadLicense.pas | 248 ++ 10.3.2/Keygen/RadVersion.pas | 85 + 10.3.2/Keygen/Sha1.pas | 251 ++ 10.3.2/Release/Activator.exe | Bin 0 -> 219688 bytes 10.3.2/Release/Readme.txt | 37 + 28 files changed, 8605 insertions(+) create mode 100644 10.3.2/Activator/Activator.bdsproj create mode 100644 10.3.2/Activator/Activator.dpr create mode 100644 10.3.2/Activator/Activator.res create mode 100644 10.3.2/Activator/Activator_0.inc create mode 100644 10.3.2/Activator/Activator_1.inc create mode 100644 10.3.2/Activator/Activator_2.inc create mode 100644 10.3.2/Activator/Activator_3.inc create mode 100644 10.3.2/Activator/Activator_4.inc create mode 100644 10.3.2/Activator/Admin.res create mode 100644 10.3.2/Activator/FileUtils.pas create mode 100644 10.3.2/Activator/MainFrm.dfm create mode 100644 10.3.2/Activator/MainFrm.pas create mode 100644 10.3.2/Activator/MainFrm_1.inc create mode 100644 10.3.2/Activator/PatchData.inc create mode 100644 10.3.2/Activator/PatchData.pas create mode 100644 10.3.2/Activator/TMainForm.inc create mode 100644 10.3.2/Activator/TMainFormclass.inc create mode 100644 10.3.2/Activator/WinUtils.pas create mode 100644 10.3.2/Activator/uses.inc create mode 100644 10.3.2/Dcu/dirinfo.txt create mode 100644 10.3.2/Keygen/AnsiStrings.pas create mode 100644 10.3.2/Keygen/FGInt.pas create mode 100644 10.3.2/Keygen/RadKeygen.pas create mode 100644 10.3.2/Keygen/RadLicense.pas create mode 100644 10.3.2/Keygen/RadVersion.pas create mode 100644 10.3.2/Keygen/Sha1.pas create mode 100644 10.3.2/Release/Activator.exe create mode 100644 10.3.2/Release/Readme.txt diff --git a/10.3.2/Activator/Activator.bdsproj b/10.3.2/Activator/Activator.bdsproj new file mode 100644 index 0000000..9feb977 --- /dev/null +++ b/10.3.2/Activator/Activator.bdsproj @@ -0,0 +1,183 @@ + + + + + + + + + + + + Activator.dpr + + + 7.0 + + + 8 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + Classes=;mirror= + + False + + False + True + False + True + True + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + ..\Release + ..\Dcu + + + ..\KOL + vcl;rtl + KOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE + + False + + + + + + False + + + True + False + + + False + + + True + False + 26 + 0 + 32767 + 6593 + False + False + False + False + False + 1033 + 1252 + + + Lsuper + + 26.0.32767.6593 + + + + Activator.exe + + 26.0 + + + + + diff --git a/10.3.2/Activator/Activator.dpr b/10.3.2/Activator/Activator.dpr new file mode 100644 index 0000000..c9992d9 --- /dev/null +++ b/10.3.2/Activator/Activator.dpr @@ -0,0 +1,32 @@ +{ KOL MCK } // Do not remove this line! +program Activator; + +uses +KOL, + FileUtils in 'FileUtils.pas', + PatchData in 'PatchData.pas', + WinUtils in 'WinUtils.pas', + + AnsiStrings in '..\Keygen\AnsiStrings.pas', + FGInt in '..\Keygen\FGInt.pas', + RadKeygen in '..\Keygen\RadKeygen.pas', + RadLicense in '..\Keygen\RadLicense.pas', + RadVersion in '..\Keygen\RadVersion.pas', + Sha1 in '..\Keygen\Sha1.pas', + + MainFrm in 'MainFrm.pas' {MainForm}; + +{$R *.res} + +begin // PROGRAM START HERE -- Please do not remove this comment + +{$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} + + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TMainForm, MainForm); + Application.Run; + +{$IFEND} + +end. diff --git a/10.3.2/Activator/Activator.res b/10.3.2/Activator/Activator.res new file mode 100644 index 0000000000000000000000000000000000000000..609214179aed3e35183bd241c57a90d2851a535b GIT binary patch literal 11652 zcmdT~L1-IS8h)nk)-BsshaS93+1jQH)v}5;mh4!?Y1T?ph_>CfO4B8R(vC-?RLGKC zjhxnqkWfSpLF5oj4ngElP*?)WA>bYY4qXDyA>bSW&LQ9gvY2dxKvvXjPj;}H6lw%|NkwqqCCo48wnup#4LHD$6TW$J;H&g!bHeZMMm_m^er z+PqAB)o}eWU6DO6_fiLPi);J!;C$O@ypDcs^|nm)KSm?$b57bbCoIV{R>}!zs=; z2hnqE)UO2hCu9zIYTpyHl*wBwGI<-e_w1jd51>O0KB$00$=k~^eq{mNYDfdNH%>#K zLx28}`1RVptBL`j>S5}my?!d;hKXJqU zRbZ}y_ZE)HpV&?C=aL)03O~3Lrw-GP#Gh2QM81l_&-L@b4Ld088o%y6A8Z4EJ(jOX z_=627ZWxKgMP3VQ1Ik zm-u6d0br&q5qEq%uIx>_HZKCZC-aCk9@7``{c)XVWZ`hM>)#I4HU@Ye-$fXt} zb*BX#kb@Y%XTYD&s){Sx&g^HwEpo^C%#q1MNfiS_3(74TwRcL;LAbxB;p``bqRafob1n5C3AZ9WK~+o%ZURCW$*sJeubU*$QdQn zf%vr_;Db%@H`igtX}i_q$Qg^UcN3ha4;aHi#6$23xN#lz8uv2TI0c=w52{`sAwN@y z%{c1O825wIP1)PqtN2epa9?FkA^u*}M;xOMh?BL!dLD61{Jw^>v9zj_09 zzSNTa=dce@F5nnC7|`~V*DUe-Qp4_M>RBk}j_&&l31OEPe3Q3g&!&f@qh?5~%B|7uIdshgie;C~f4 zo4K61#X&AlAQ$x?wq)Sterb#vE`IQcT%vU7fonAWHjlh`rjIm!>cH56;kUqV$sS_& zBzR^~CeJiw;w)nFB61}5wgfrki-FqL^X+{nZd-~Q#L2u#A@9{Oa-`oE4{=GygBQ;` zz@HL!=f%qG!3%LKpP67Y9dDKVX_q8Pzr~QXg zvWhWPuOJ5zzXcyCLC#^#OC6{aeL(!1`CvVddi#Dfe{@{4URe>NNm;$X7;f_zwgB`-wFlFrNKB@aH4uA}=2?PyI;# zYy9lFKP*>JlhC%z;qj9V*%OUpkLg*#7~`nQ96|0Za1Q{_=yT?wwhr_Gbs&d)J|KRT zlXO1vbkIJa4z$I>HRK=Eb=!zHvD;+k8 zW7?lSrF7VTXZQ``rETZFo>Ls6ZRvM%g4pR_K6lhmvyn5@m%6UkLC1rN>#VhTOrtJR z`vdX-<6QBd{Mi|P`eTlHW90#ABE$hPvwo*=?$-U5;y?2vb=1#P8|lFKAQzd7nV0;z zsbi1uaujRo$AF(TUW+-9&(PF^m|Lxuvb%cb;5zUF^`q?=>-=2nzocML% zId$pCOU$h%d;lJH=)k=Xw&MNF$&4!sV~qa5dVIIDlg2um&#O_95*J0CmpdUOgv7g0r&ph4*Xxth*{j2Iz_gNatKDIX3fggFCv7tByo~gKj9W|Hy zxmCq9@Uth!$dwM<;2b$i+cPf!F>Us^TL*sb`NTpy@_CW(7U&OuJSZLV*dxG0#x!k9 z|7l^YsP|UPYv3ODVSuL38HheV%N)genmDLO2bWM|(--v7;`KGm#Lnxv*DxRR z8V`31fXP$;bK>LFp#wknAKIN5sE5K&`y(Ey2gkIXbx(efZ^Tb7a_A8}9N5J3We)b%c-Qv;P5eJcKK!xvm}Bf| zn>YAee1q?#T{~~o^IZ}a;d|*P0)Gm7=q$d2Om2ajx&&`Z*?X!<{Cp1jrE(0G+O*B} zp!N?u*xcUQ2mN=X?7@3S;no5>t;042vcrKnf%meT;aB#)i+II5ZGl=wphm_z%#}}q z?WyvH_!aK^9&YTb0(HM|zyIWSM^6IpiJh$}@T{WkPuu}~U!d$w+^C7Y@8k7vBiy^5 zoc~pU=SzWi*3^N$z@DoxDyHA6Rim3Ao@YYW;f2==RA)6KQumH@|_Bw zP5GOHUxnZD-i!Fg1smguF4g}Rhu=LT#CJmMz1JngJt1B>0dSDtp!;d%Q^&dtU$VO?u!~*X#ZV?;Lum&m{+rQ%PSh-Sels{zb1p?)ET@8h>Vs9)?uc z>HZb({J7h@_Jwg>d;fr8T>lbagdtMCAl?z<;(+)YWS@8!y>9;Bb@A6+T_XI6`>QVg z3am?f13&fQVnlQMw_xGGv)%gsZ@Qv5{7@VeALIXi6wC*)23Po4t@jp=+2*@fU?xl^ zelPy{J9%99d)25w>FSPpr>gq{FUNdkQ4(2E5J$vY=qH7ZnF}H#iWvQmx-u-H&@={# z0s|5463<|@eYhqsri6*>XMoAXnXT@48;^j~7_l)o+h6e0ldkssAF9tCtX9OGY(ruM zbA}-i9Ph^2ZXAz@VXPX#_?zMd-2bjZdPJc$fmGuyv{xR-BU~BdNAXD+vzIW7Exu5w zc8RAk$9wp!DAGX3E7v2@IEd*@{=*d}?$9f(Sw@Igl~q5$DD`)Mhik6s^lbOPx(_`q zJpcCk{HrEb|Hk%yk)P~4YL}dBv9M>r*cBe=vkO)+oh=;MGjQmGw?d->eNNddq|M1< z!QL}4V><(T-+2DHG1GDE{KVu;A0{X`dj_UUh1VVHQ#)@up?uaV6`f+H9I}e}*G(tC z>!>l%mp2R9jO~;^^snZh>Ok5ql(XfT=b!6CE0}q#cW`>jF6}yqxjr{b_JBJyRVrGx z;}lEdCF|2{*|y5lC0zR_Z@8__(5^85ypPK>Q@H5!Y#}l6BdnJZlCw5*==KKPiuUhVTZ|pf*mYMjT@E194|_Ki4|Hqs_PL@7Y4S__?!d zUooFA7DD@qg>tDl>39n1yW0AWbm*&xx3E_GvgwJ*to2uW=7VC+1{X$#W5W|8Q6n0) ztc;P)tXp)_EF76OkNC{aiD*~$G~mPbS^HGkajaaLcFG3|nc_A{6dBOdJGM1l0#*D* zFWH|>gI;#}y;AmQcG5m#JHBCss(s1+FE9Ze|F(V9p6r|C|2+d7&X(-)bUs_iI^~jC zE|v!RrnBP~>9%JeV@^7@;tpqH8yjp-`OvCkgFcjFgKcF2Y7B8PWtOuO*-0p|we}sC zGnlj;%&93j4KsnlYg8I@rl+QgC79yfgMA0mdj=}@P}ne{!@EPqaC9UTjab7Wb2wv% z!r{@hZQGG_BojW?so6twM23yX=tRs64X0z6BQuc>joL%$kU12MhKGiRGqH%d)f`cC zC^Ix_M?%AqiC8EajT)f|GiHU-Be8VUjG7~MWOS=JjLgXH5o`BIXf$jaq3BQ~76MZz zLZgv%I5UzCr_J44&M|6-GrLV=C^V6oh(H&6Gz86tL($PpdN^zv!)DB<%h+J2oyP_{ P972Z<>X63?GVA{Uyf=^P literal 0 HcmV?d00001 diff --git a/10.3.2/Activator/Activator_0.inc b/10.3.2/Activator/Activator_0.inc new file mode 100644 index 0000000..8fa625f --- /dev/null +++ b/10.3.2/Activator/Activator_0.inc @@ -0,0 +1,20 @@ +{ KOL MCK } // Do not remove this line! +{ Activator_0.inc + Do not edit this file manually - it is generated automatically. + You can only modify Activator_1.inc and Activator_3.inc + files. } + +{$IFDEF Pcode} + InstallCollapse; +{$ENDIF Pcode} + NewMainForm( MainForm, nil ); +{$I Activator_1.inc} + +{$I Activator_2.inc} + +{$I Activator_3.inc} + + Run( MainForm.Form ); + +{$I Activator_4.inc} + diff --git a/10.3.2/Activator/Activator_1.inc b/10.3.2/Activator/Activator_1.inc new file mode 100644 index 0000000..e19f111 --- /dev/null +++ b/10.3.2/Activator/Activator_1.inc @@ -0,0 +1,9 @@ +{ Activator_1.inc + This file is for you. Place here any code to run it + just following Applet creation (if it present) but + before creating other forms. E.g., You can place here + statement, which prevents running of application + in some cases. TIP: always use Applet for such checks + and make it invisible until final decision if to run + application or not. } + diff --git a/10.3.2/Activator/Activator_2.inc b/10.3.2/Activator/Activator_2.inc new file mode 100644 index 0000000..830ed7f --- /dev/null +++ b/10.3.2/Activator/Activator_2.inc @@ -0,0 +1,4 @@ +{ KOL MCK } // Do not remove this line! +{ Activator_2.inc + Do not modify this file manually - it is generated automatically. } + diff --git a/10.3.2/Activator/Activator_3.inc b/10.3.2/Activator/Activator_3.inc new file mode 100644 index 0000000..5f758d7 --- /dev/null +++ b/10.3.2/Activator/Activator_3.inc @@ -0,0 +1,4 @@ +{ Activator_3.inc + This file is for you. Place here any code to run it + after forms creating, but before Run call, if necessary. } + diff --git a/10.3.2/Activator/Activator_4.inc b/10.3.2/Activator/Activator_4.inc new file mode 100644 index 0000000..3e4c27b --- /dev/null +++ b/10.3.2/Activator/Activator_4.inc @@ -0,0 +1,4 @@ +{ Activator_4.inc + This file is for you. Place here any code to be inserted + after Run call, if necessary. } + diff --git a/10.3.2/Activator/Admin.res b/10.3.2/Activator/Admin.res new file mode 100644 index 0000000000000000000000000000000000000000..5e2a64c62a540aec70de607e5da17b56da031951 GIT binary patch literal 1432 zcma)6U2oGc6fF`wFlp~RMtMYX^PMJBx@np~ngD^c4W1qQy0b{^U_0F^#BU#V+jI$g zD2~!3KG)~ob9~*|Y&P@k{q(fE?dxRRy&3R#Hs;k93ukX%4?)$%W7~LZP?}4z^rLy` zdmxCUT&$M<-R(zI_?|XcP~1oXOMe5}zc@cVsj$}2*3HJV1VS(UUWqeJ?xDpRwVWua zB{PV~_6+NGzK(pa#ey@?=KDC?nChB>Fx+fTPdqyWZf(Asz5_MCv0M*Wfxm+~B?)LP z)ukf$+yF7Xva#>?@Ig*I58bt&Hk-}{J#dl4e&F&_&_wahSn21}JXJ8pwxJyeTOQfi zg|0fgcsFA%_eSi2EjXAnRpcNy#)a(IcJqVgFN1yaA6!uRpyyYzZKXh0QWzy0y%#jB zI_S+OdI$K3TZgc|ZaDb_n_Kx4Y%kRzrudpSumU}Tw^bcNK0I0ixAC80 z4UN~h-=*(huHcfkTySj^Hd6Us&o7BZly~1T_=^b;_HofO_%;}h{GsKvjvK>G)HMd zGK4b*C=3e<00~W4_-Cr@1xJ!aNl}*=Wwf*$tfr`dm?9jfX&A>DD-(Q-BgHX`3rJ9w z)Fn#OG(t5l38HyPQ=H-)lHwRg#PUT>7C9)}; +{$ELSE} +{$I uses.inc} + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, mirror; +{$ENDIF} + +type + {$IF Defined(KOL_MCK)} + {$I MCKfakeClasses.inc} + {$IFDEF KOLCLASSES} {$I TMainFormclass.inc} {$ELSE OBJECTS} PMainForm = ^TMainForm; {$ENDIF CLASSES/OBJECTS} + {$IFDEF KOLCLASSES}{$I TMainForm.inc}{$ELSE} TMainForm = object(TObj) {$ENDIF} + Form: PControl; + {$ELSE not_KOL_MCK} + TMainForm = class(TForm) + {$IFEND KOL_MCK} + btnAbout: TKOLButton; + btnActive: TKOLButton; + btnExit: TKOLButton; + btnReset: TKOLButton; + btnRunBds: TKOLButton; + kolActivator: TKOLProject; + kolMainForm: TKOLForm; + procedure btnAboutClick(Sender: PObj); + procedure btnActiveClick(Sender: PObj); + procedure btnExitClick(Sender: PObj); + procedure btnResetClick(Sender: PObj); + procedure btnRunBdsClick(Sender: PObj); + procedure kolMainFormDestroy(Sender: PObj); + procedure kolMainFormFormCreate(Sender: PObj); + function kolMainFormMessage(var Msg: TMsg; var Rslt: Integer): Boolean; + procedure kolMainFormShow(Sender: PObj); + private + FAppPath, + FBdsPath: string; + FCurFileBuild: Integer; + FSerialNumber, + FRegCode, + FInformation: string; + private + function FindBdsPath: Boolean; + + function GetSystemHostsFile: string; + + procedure BeginCursor; + procedure EndCursor; + + procedure CopyFile(const ASrcFile, ADestFile: string); + + procedure DeleteFile(const AFile: string); + procedure DeleteFiles(const AFileMask: string); + private + procedure BuildNormalCglmFile; + procedure BuildNormalSlipFile; + + procedure GenerateRegistrationCode; + procedure GenerateKeyGenLicense; + + procedure PatchLicenseHostsFile; + procedure RestoreLicenseHostsFile; + + procedure PatchBdsFile; + procedure RestoreBdsFile; + + procedure DeleteTrialFiles; + procedure DeleteTrialRegKeys; + private + procedure DoActive; + procedure DoReset; + procedure DoRunBds; + + procedure ShowAboutMessage; + + procedure Execute; + end; + +var + MainForm {$IFDEF KOL_MCK} : PMainForm {$ELSE} : TMainForm {$ENDIF} ; + +{$IFDEF KOL_MCK} +procedure NewMainForm( var Result: PMainForm; AParent: PControl ); +{$ENDIF} + +implementation + +{.$DEFINE DEBUGMODE} + +uses + SysUtils, ShellAPI, Registry, FileUtils, PatchData, WinUtils, RadKeygen, RadVersion; + +{$IF Defined(KOL_MCK)}{$ELSE}{$R *.DFM}{$IFEND} + +{$IFDEF KOL_MCK} +{$I MainFrm_1.inc} +{$ENDIF} + +const + CSIDL_APPDATA = $001A; // Application Data, new for NT4, \Application Data + CSIDL_COMMON_APPDATA = $0023; // All Users\Application Data + + UM_SHOWABOUT = 100; + +const + defAppMessage = 'Many thanks to elseif, tonzi, freecat, unis, x-force, cjack and others who worked for this keygen!'; + defAppVersion = '15.2'; + + defAppHelperFileName = 'SHFolder.dll'; + + defBdsVersion = '20.0'; + + defBdsLicenseFile = 'RADStudio10_2.slip'; + defBdsLicenseManager = '"%s" -reg -skey 8220_21 -loadKey 2026 -a'; + + defBdsPatchFileName = 'SHFolder.dll'; + + defLicenseHosts: array[0..17] of string = ( + '127.0.0.1 appanalytics.embarcadero.com', + '127.0.0.1 comapi.embarcadero.com', + '127.0.0.1 embt.usertility.com', + '127.0.0.1 external.ws.sanctx.embarcadero.com', + '127.0.0.1 getit.embarcadero.com', + '127.0.0.1 installers.codegear.com', + '127.0.0.1 installers.embarcadero.com', + '127.0.0.1 license-stage.codegear.com', + '127.0.0.1 license.codegear.com', + '127.0.0.1 license.embarcadero.com', + '127.0.0.1 object.ws.sanctx.embarcadero.com', + '127.0.0.1 services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 themindelectric.com', + '127.0.0.1 track.embarcadero.com', + '127.0.0.1 www.themindelectric.com', + + '127.0.0.1 LicenseRenewalServicesImpl.services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 LicenseUsageServicesImpl.services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 RegistrationServicesImpl.services.server.v8.srs.sanctuary.codegear.com' + ); + +{ TMainForm } + +procedure TMainForm.BeginCursor; +begin + SetCursor(LoadCursor(0, IDC_WAIT)); +end; + +procedure TMainForm.btnAboutClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('About'); +{$ENDIF} + ShowAboutMessage; +end; + +procedure TMainForm.btnActiveClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Active'); +{$ENDIF} + BeginCursor; + try + DoActive; + finally + EndCursor; + end; +end; + +procedure TMainForm.btnExitClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Exit'); +{$ENDIF} + Self.Form.Close; +end; + +procedure TMainForm.btnResetClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Reset'); +{$ENDIF} + BeginCursor; + try + DoReset; + finally + EndCursor; + end; +end; + +procedure TMainForm.btnRunBdsClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Run'); +{$ENDIF} + BeginCursor; + try + DoRunBds; + finally + EndCursor; + end; +end; + +procedure TMainForm.BuildNormalCglmFile; +var + S: string; +begin + S := FBdsPath + 'Bin\cglm.ini'; + SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas)); + S := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\Studio\' + defBdsVersion + '\cglm.ini'; + SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas)); +end; + +procedure TMainForm.BuildNormalSlipFile; +var + S: string; +begin + S := FBdsPath + 'License\*.slip'; + DeleteFiles(S); + S := FBdsPath + 'License\' + defBdsLicenseFile; + SaveDataToFile(S, defSlipFileDatas, Length(defSlipFileDatas)); +end; + +procedure TMainForm.CopyFile(const ASrcFile, ADestFile: string); +{$IFDEF DEBUGMODE} +var + bRet: Boolean; +{$ENDIF} +begin +{$IFDEF DEBUGMODE} + bRet := Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False); + if bRet then + LogMessage('CopyFile.OK: ' + ADestFile) + else LogMessage('CopyFile.Error: ' + ADestFile + ', ' + SysErrorMessage(GetLastError)); +{$ELSE} + Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False); +{$ENDIF} +end; + +procedure TMainForm.DeleteFile(const AFile: string); +{$IFDEF DEBUGMODE} +var + bRet: Boolean; +{$ENDIF} +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFile: ' + AFile + ' ...'); + bRet := Windows.DeleteFile(PChar(AFile)); + if bRet then + LogMessage('DeleteFile.OK: ' + AFile) + else LogMessage('DeleteFile.Error: ' + AFile + ', ' + SysErrorMessage(GetLastError)); +{$ELSE} + Windows.DeleteFile(PChar(AFile)); +{$ENDIF} +end; + +procedure TMainForm.DeleteFiles(const AFileMask: string); + //////////////////////////////////////////////////////////////////////////////// + //: Lsuper 2005.09.21 + //: жļ + // + //////////////////////////////////////////////////////////////////////////////// + function IsDirNotation(const AName: string): Boolean; + begin + Result := (AName = '.') or (AName = '..'); + end; +var + cSearchRec: TSearchRec; + strFilePath: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFiles: ' + AFileMask + ' ...'); +{$ENDIF} + strFilePath := ExtractFilePath(AFileMask); + if FindFirst(AFileMask, faAnyFile, cSearchRec) = 0 then + repeat + if (cSearchRec.Name <> '') and not IsDirNotation(cSearchRec.Name) then + begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFiles, File: ' + strFilePath + cSearchRec.Name); +{$ENDIF} + SysUtils.DeleteFile(strFilePath + cSearchRec.Name); + end; + until FindNext(cSearchRec) <> 0; + SysUtils.FindClose(cSearchRec); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.01.05 +//ܣȨϢ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.DeleteTrialFiles; +var + AllUsersPath, UserPath: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialFiles'); +{$ENDIF} + AllUsersPath := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\'; + UserPath := GetShellFolderPath(CSIDL_APPDATA) + 'Embarcadero\'; + +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialFiles.AllUsersPath: ' + AllUsersPath); + LogMessage('DeleteTrialFiles.UserPath: ' + UserPath); +{$ENDIF} + + DeleteFile(UserPath + '.cgb_license'); + DeleteFile(AllUsersPath + '.cgb_license'); + + DeleteFile(UserPath + '.licenses\.cg_license'); + DeleteFile(AllUsersPath + '.licenses\.cg_license'); + + DeleteFile(AllUsersPath + 'RAD Studio Activation.slip'); + + DeleteFiles(AllUsersPath + '.82*.slip'); +end; + +procedure TMainForm.DeleteTrialRegKeys; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialRegKeys'); +{$ENDIF} +end; + +procedure TMainForm.DoActive; +var + S: string; + nBuild: Integer; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoActive'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + S := FBdsPath + 'Bin\bds.exe'; + nBuild := GetFileBuildVersion(S); + if nBuild <> FCurFileBuild then + begin + ShowError('BDS version not support!'); + Exit; + end; + BuildNormalCglmFile; + BuildNormalSlipFile; + RestoreBdsFile; + + GenerateRegistrationCode; + GenerateKeyGenLicense; + PatchBdsFile; + PatchLicenseHostsFile; +{ + ShowMessage('Active', 'OK!'); +} + ShowMessage('Active', 'OK! Code: ' + FRegCode + ', Serial: ' + FSerialNumber); +end; + +procedure TMainForm.DoReset; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoReset'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + DeleteTrialFiles; + DeleteTrialRegKeys; + BuildNormalCglmFile; + BuildNormalSlipFile; + RestoreBdsFile; + RestoreLicenseHostsFile; + ShowMessage('Reset', 'OK!'); +end; + +procedure TMainForm.DoRunBds; +var + BdsExe: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoRunBds'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + FBdsPath := FBdsPath + 'Bin'; + BdsExe := FBdsPath + '\bds.exe'; + ShellExecute(0, 'open', PChar(BdsExe), '-pDelphi', PChar(FBdsPath), SW_NORMAL); + Delay(20); +end; + +procedure TMainForm.EndCursor; +begin + SetCursor(LoadCursor(0, IDC_ARROW)); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.09.20 +//ܣֱִ Lite İװ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.Execute; +var + S: string; + nBuild: Integer; +begin + if not FindBdsPath then + begin + LogMessage('No BDS find!'); + Exit; + end; + S := FBdsPath + 'Bin\bds.exe'; + nBuild := GetFileBuildVersion(S); + if nBuild <> FCurFileBuild then + begin + LogMessage('BDS version not support!'); + Exit; + end; + + GenerateRegistrationCode; + GenerateKeyGenLicense; + BuildNormalCglmFile; + BuildNormalSlipFile; + PatchBdsFile; + PatchLicenseHostsFile; +{ + LogMessage('Done.'); +} + LogMessage('Done. Code: ' + FRegCode + ', Serial: ' + FSerialNumber); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.02.15 +//ܣ Delphi +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.FindBdsPath: Boolean; +begin + Result := False; + with TRegistry.Create do + try + Access := KEY_READ; + RootKey := HKEY_LOCAL_MACHINE; + if OpenKeyReadOnly('SOFTWARE\Embarcadero\BDS\' + defBdsVersion) then + begin + FBdsPath := ReadString('RootDir'); + CloseKey; + end; + finally + Free; + end; + if FBdsPath <> '' then + begin + FBdsPath := IncludeTrailingPathDelimiter(FBdsPath); + Result := FileExists(FBdsPath + 'Bin\bds.exe'); + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣ +// +//ע⣺û IPC ֪ͨͨѶ +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.GenerateKeyGenLicense; + + function CurrentRadStudioVersion: PRadStudioVersion; inline; + begin + Assert(RadStudioVersionList.Count > 0); + Result := PRadStudioVersion(RadStudioVersionList.Objects[0]); + end; +begin +{$IFDEF DEBUGMODE} + LogMessage('GenerateKeyGenLicense'); +{$ENDIF} + FSerialNumber := RadKeygen.GenerateSerialNumber; + FRegCode := RadKeygen.GetRegistrationCode; + RadKeygen.GenerateLicenseFile(FSerialNumber, FRegCode, CurrentRadStudioVersion, FInformation); +end; + +//////////////////////////////////////////////////////////////////////////////// +//: Lsuper 2006.09.19 +//: ע +// +//ע⣺û IPC ֪ͨͨѶ +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.GenerateRegistrationCode; +var + si: TStartupInfo; + pi: TProcessInformation; + nExitCode: LongWord; + strHelper, strCommandLine, strWorkDir: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('GenerateRegistrationCode'); +{$ENDIF} + strHelper := FAppPath + defAppHelperFileName; + if not FileExists(strHelper) then + SaveDataToFile(strHelper, defHelperDatas, Length(defHelperDatas)); + strWorkDir := FBdsPath + 'Bin'; + strCommandLine := Format('%s\LicenseManager.exe', [strWorkDir]); + if not FileExists(strCommandLine) then + raise Exception.CreateFmt('File %s not exists!', [strCommandLine]); + strCommandLine := Format(defBdsLicenseManager, [strCommandLine]); + FillChar(si, SizeOf(TStartupInfo), 0); + with si do + begin + cb := SizeOf(TStartupInfo); + dwFlags := STARTF_USESHOWWINDOW + STARTF_FORCEONFEEDBACK; + wShowWindow := SW_HIDE; + end; + if CreateProcessEx(nil, PChar(strCommandLine), nil, nil, False, 0, nil, PChar(strWorkDir), si, pi, AnsiString(strHelper)) then + try + WaitForSingleObject(pi.hProcess, INFINITE); + GetExitCodeProcess(pi.hProcess, nExitCode); + if nExitCode <> 0 then + raise Exception.Create('BdsReg error!'); + finally + CloseHandle(pi.hThread); + CloseHandle(pi.hProcess); + end + else RaiseLastOSError; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.01.30 +//ܣȡWindowsϵͳĿ¼ +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.GetSystemHostsFile: string; +const + defHostsFilePath = 'drivers\etc\hosts'; +var + nRet: LongWord; +begin + SetLength(Result, MAX_PATH); + nRet := GetSystemDirectory(PChar(Result), MAX_PATH); + if nRet = 0 then + Result := '' + else begin + SetLength(Result, nRet); + Result := IncludeTrailingPathDelimiter(Result) + defHostsFilePath; + end; +end; + +procedure TMainForm.kolMainFormDestroy(Sender: PObj); +begin + LogMessage('Destroy'); +{$IFNDEF DEBUGMODE} + DeleteFiles(FAppPath + '*.*'); + RemoveDirectory(PChar(FAppPath)); +{$ENDIF} +end; + +procedure TMainForm.kolMainFormFormCreate(Sender: PObj); +var + S: string; +begin + LogMessage('Create'); + + FAppPath := GetShellFolderPath(CSIDL_APPDATA); + FAppPath := IncludeTrailingPathDelimiter(FAppPath) + 'Activator\' + defAppVersion + '\'; + ForceDirectories(FAppPath); + S := GetModuleName(HInstance); + FCurFileBuild := GetFileBuildVersion(S); + + SetEnvironmentVariable('SESSIONNAME', 'Conso1e'); + + if ParamStr(1) = '-process' then + begin + Execute; + Halt(1); + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2003.09.21 +//ܣϵͳ˵ +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.kolMainFormMessage(var Msg: TMsg; + var Rslt: Integer): Boolean; +begin + if (Msg.message = WM_SYSCOMMAND) and (Msg.WParam = UM_SHOWABOUT) then + ShowAboutMessage; + Result := False; +end; + +procedure TMainForm.kolMainFormShow(Sender: PObj); +var + hMain : HMENU; +begin + LogMessage('Show'); + + hMain := GetSystemMenu(Self.Form.Handle, False); + AppendMenu(hMain, MF_SEPARATOR, 0, nil); + AppendMenu(hMain, MF_STRING{ or MF_CHECKED}, UM_SHOWABOUT, 'About ...'); + SetMainFormHandle(Self.Form.Handle); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.09.21 +//ܣ޸ BDS.exe ļ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.PatchBdsFile; +var + S: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('PatchBdsFile'); +{$ENDIF} + S := FBdsPath + 'Bin\' + defBdsPatchFileName; +{$IFDEF DEBUGMODE} + LogMessage('Patch: ' + S); +{$ENDIF} + SaveDataToFile(S, defBdsPatchDllDatas, SizeOf(defBdsPatchDllDatas)); +end; + +procedure TMainForm.PatchLicenseHostsFile; +var + F, S: string; + nIndex, I: Integer; + pList, pHosts: PStrListEx; +begin +{$IFDEF DEBUGMODE} + LogMessage('PatchLicenseHostsFile'); +{$ENDIF} + F := GetSystemHostsFile; + pHosts := NewStrListEx; + with pHosts^ do + try + if FileExists(F) then + LoadFromFile(F); + pList := NewStrListEx; + for S in defLicenseHosts do + pList.Add(S); + for I := 0 to Count - 1 do + begin + S := Trim(Items[I]); + nIndex := pList.IndexOf(S); + if nIndex >= 0 then + pList.Delete(nIndex); + end; + if pList.Count > 0 then + try +{$IFDEF DEBUGMODE} + LogMessage('PatchLicenseHostsFile, SaveToFile: ' + F); +{$ENDIF} + AddStrings(pList); + FileSetReadOnly(F, False); + SaveToFile(F); + except + on E: Exception do + LogMessage('Disable Hosts Error: ' + E.Message); + end; + pList.Free; + finally + Free; + end; +end; + +procedure TMainForm.RestoreBdsFile; +var + S: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('RestoreBdsFile'); +{$ENDIF} + S := FBdsPath + 'Bin\' + defBdsPatchFileName; +{$IFDEF DEBUGMODE} + LogMessage('Restore: ' + S); +{$ENDIF} + Self.DeleteFile(S);; +end; + +procedure TMainForm.RestoreLicenseHostsFile; +var + F, S: string; + nIndex, nRet, I: Integer; + pList, pHosts: PStrListEx; +begin +{$IFDEF DEBUGMODE} + LogMessage('RestoreLicenseHostsFile'); +{$ENDIF} + F := GetSystemHostsFile; + if not FileExists(F) then + Exit; + pHosts := NewStrListEx; + with pHosts^ do + try + LoadFromFile(F); + pList := NewStrListEx; + for S in defLicenseHosts do + pList.Add(S); + nRet := 0; + for I := Count - 1 downto 0 do + begin + S := Trim(Items[I]); + nIndex := pList.IndexOf(S); + if nIndex < 0 then + Continue; + pHosts.Delete(I); + Inc(nRet); + end; + if nRet > 0 then + try +{$IFDEF DEBUGMODE} + LogMessage('RestoreLicenseHostsFile, SaveToFile: ' + F); +{$ENDIF} + FileSetReadOnly(F, False); + SaveToFile(F); + except + on E: Exception do + LogMessage('Disable Hosts Error: ' + E.Message); + end; + pList.Free; + finally + Free; + end; +end; + +procedure TMainForm.ShowAboutMessage; +begin + with Self.Form^ do + ShellAbout(Handle, PChar(string(Caption) + ', Lsuper'), PAnsiChar(AnsiString(defAppMessage)), Icon); +end; + +end. diff --git a/10.3.2/Activator/MainFrm_1.inc b/10.3.2/Activator/MainFrm_1.inc new file mode 100644 index 0000000..be3df30 --- /dev/null +++ b/10.3.2/Activator/MainFrm_1.inc @@ -0,0 +1,49 @@ +{ KOL MCK } // Do not remove this line! + +procedure NewMainForm( var Result: PMainForm; AParent: PControl ); +begin + + {$IFDEF KOLCLASSES} + Result := PMainForm.Create; + {$ELSE OBJECTS} + New( Result, Create ); + {$ENDIF KOL CLASSES/OBJECTS} + Result.Form := NewForm( AParent, 'Delphi 10.3.2 Activator' ).SetPosition( 8, 8 ); + Applet := Result.Form; + Result.Form.Add2AutoFree( Result ); + Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); + Result.Form.SetClientSize( 534, 122 ); + Result.Form.OnMessage := Result.kolMainFormMessage; + Result.Form.OnShow := Result.kolMainFormShow; + Result.Form.OnDestroy := Result.kolMainFormDestroy; + Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnAbout.Hint.Text := 'About'; + {$ENDIF USE_MHTOOLTIP} + Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnReset.Hint.Text := 'Reset Delphi 10.3.2'; + {$ENDIF USE_MHTOOLTIP} + Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnExit.Hint.Text := 'Exit'; + {$ENDIF USE_MHTOOLTIP} + Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.2'; + {$ENDIF USE_MHTOOLTIP} + Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnActive.Hint.Text := 'Active Delphi 10.3.2'; + {$ENDIF USE_MHTOOLTIP} + Result.btnAbout.OnClick := Result.btnAboutClick; + Result.btnReset.OnClick := Result.btnResetClick; + Result.btnExit.OnClick := Result.btnExitClick; + Result.btnRunBds.OnClick := Result.btnRunBdsClick; + Result.btnActive.OnClick := Result.btnActiveClick; + Result.Form.CenterOnParent.CanResize := False; + Result.Form.Perform( WM_INITMENU, 0, 0 ); + Result.kolMainFormFormCreate( Result ); + +end; + diff --git a/10.3.2/Activator/PatchData.inc b/10.3.2/Activator/PatchData.inc new file mode 100644 index 0000000..7b35617 --- /dev/null +++ b/10.3.2/Activator/PatchData.inc @@ -0,0 +1,3415 @@ + defCglmFileDatas: array[0..255] of Byte = ( + $5B, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, $20, $4C, $69, $63, + $65, $6E, $73, $65, $20, $4D, $61, $6E, $61, $67, $65, $6D, $65, $6E, $74, $5D, + $0D, $0A, $52, $6F, $6F, $74, $44, $69, $72, $3D, $24, $7B, $4D, $4F, $44, $55, + $4C, $45, $5F, $44, $49, $52, $7D, $5C, $2E, $2E, $0D, $0A, $4C, $69, $63, $65, + $6E, $73, $65, $44, $69, $72, $3D, $24, $7B, $52, $4F, $4F, $54, $44, $49, $52, + $7D, $5C, $4C, $69, $63, $65, $6E, $73, $65, $0D, $0A, $49, $6E, $66, $6F, $44, + $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50, $44, + $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, + $5C, $2E, $6C, $69, $63, $65, $6E, $73, $65, $73, $0D, $0A, $53, $6C, $69, $70, + $44, $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50, + $44, $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, + $6F, $5C, $0D, $0A, $52, $65, $67, $45, $78, $65, $3D, $4C, $69, $63, $65, $6E, + $73, $65, $4D, $61, $6E, $61, $67, $65, $72, $2E, $65, $78, $65, $0D, $0A, $4C, + $6F, $63, $6B, $54, $79, $70, $65, $3D, $35, $0D, $0A, $5B, $45, $6D, $62, $61, + $72, $63, $61, $64, $65, $72, $6F, $20, $53, $4C, $49, $50, $20, $46, $69, $6C, + $65, $73, $5D, $0D, $0A, $53, $4C, $49, $50, $46, $69, $6C, $65, $3D, $0D, $0A + ); + + defSlipFileDatas: array[0..1919] of Byte = ( + $CC, $8F, $F6, $42, $00, $00, $07, $78, $D6, $E1, $23, $6F, $D7, $83, $D2, $45, + $8F, $73, $42, $E9, $D6, $CF, $61, $F1, $5D, $6B, $8B, $F9, $9C, $46, $CC, $77, + $1E, $DF, $BB, $D4, $40, $F4, $70, $2B, $CA, $EB, $BB, $5D, $BD, $52, $59, $99, + $C3, $E9, $17, $E8, $3B, $49, $92, $A3, $91, $44, $8B, $34, $03, $DF, $B3, $9A, + $25, $A2, $09, $54, $85, $AC, $A4, $2D, $DC, $0E, $5C, $B4, $F6, $8B, $09, $C4, + $5B, $67, $F3, $B3, $F8, $6E, $9F, $49, $7C, $F8, $C1, $FC, $52, $DD, $7D, $51, + $A6, $9B, $8D, $39, $F3, $30, $64, $93, $FC, $A9, $16, $9A, $2C, $5F, $97, $D4, + $F1, $38, $88, $40, $05, $AC, $82, $BC, $68, $D6, $59, $20, $B1, $AF, $B1, $61, + $9B, $4B, $07, $A6, $AD, $EC, $28, $A2, $07, $39, $99, $EB, $A2, $5D, $CD, $08, + $63, $BC, $9B, $CC, $46, $E2, $14, $5C, $8B, $E2, $86, $1C, $84, $77, $46, $9B, + $C0, $F9, $6C, $A7, $17, $51, $A2, $A4, $B0, $1B, $88, $00, $7C, $BD, $8B, $AD, + $39, $CE, $74, $7F, $DA, $D1, $D3, $61, $F9, $5A, $69, $AD, $85, $83, $3F, $F5, + $21, $43, $E8, $DB, $AC, $5A, $EB, $78, $04, $B7, $8F, $86, $74, $C1, $15, $5C, + $AF, $83, $A0, $0E, $FC, $75, $11, $F0, $A7, $D5, $44, $F0, $55, $7D, $AE, $BC, + $95, $3E, $A6, $28, $1C, $B9, $D0, $83, $1E, $C5, $51, $71, $95, $F7, $DD, $5B, + $DD, $49, $4B, $C7, $FD, $A2, $5E, $8F, $35, $65, $FA, $AC, $D0, $3C, $BD, $6E, + $6A, $DF, $FA, $EA, $3F, $9C, $06, $37, $97, $A4, $E6, $44, $D6, $7D, $6C, $8B, + $E9, $F2, $09, $DD, $63, $0A, $C5, $FF, $B4, $1A, $E3, $7D, $5E, $FD, $EB, $E0, + $76, $F3, $7E, $62, $A7, $B9, $D3, $0C, $FB, $68, $06, $E4, $9D, $99, $36, $AB, + $08, $53, $B1, $88, $FD, $00, $C3, $0D, $41, $F4, $E5, $D0, $7C, $EE, $78, $53, + $8D, $E4, $B5, $02, $AC, $17, $77, $96, $8A, $94, $3D, $80, $34, $5E, $83, $E8, + $A4, $14, $83, $09, $7C, $98, $89, $F8, $35, $E8, $60, $04, $FA, $8C, $A2, $3A, + $9B, $28, $1A, $BA, $A0, $CB, $25, $F1, $63, $15, $D8, $9B, $9F, $2E, $B2, $0C, + $76, $B6, $84, $8E, $07, $DA, $19, $50, $9E, $CB, $E1, $14, $F1, $1B, $57, $FF, + $AD, $96, $0A, $9B, $62, $24, $D1, $C2, $B8, $5B, $E5, $6A, $02, $97, $A4, $AF, + $2B, $AE, $10, $7A, $F2, $C9, $91, $57, $CC, $6F, $1D, $A7, $D9, $D7, $7D, $B6, + $6E, $50, $F7, $D6, $E0, $3A, $C1, $0D, $1D, $DC, $FD, $E4, $05, $C5, $0A, $2D, + $82, $FB, $D8, $49, $D9, $3B, $4B, $9D, $EA, $89, $6F, $F8, $5F, $32, $CA, $AC, + $81, $39, $BC, $26, $48, $8E, $E1, $CC, $27, $FA, $56, $55, $E6, $B7, $F5, $55, + $8F, $33, $33, $D4, $84, $D0, $5B, $D2, $59, $72, $B2, $FB, $C6, $2A, $A9, $78, + $41, $8C, $DE, $DB, $7D, $B7, $33, $77, $F4, $B9, $92, $6F, $83, $0A, $2C, $C5, + $92, $D2, $03, $E5, $5B, $1B, $D5, $BC, $80, $29, $8D, $52, $6F, $8E, $ED, $AF, + $15, $A6, $7D, $1F, $90, $EF, $EA, $7C, $ED, $1C, $31, $95, $B0, $C2, $7F, $D1, + $6A, $74, $AB, $A3, $DD, $42, $8E, $7A, $55, $94, $F4, $D9, $38, $C0, $71, $52, + $F5, $B0, $DC, $04, $AF, $37, $61, $8A, $CD, $86, $6C, $C2, $3D, $16, $9B, $FB, + $B9, $78, $B4, $16, $40, $B0, $89, $A5, $7C, $81, $05, $0B, $8E, $CD, $CF, $6C, + $8E, $70, $48, $D1, $EE, $E5, $73, $E7, $5E, $3D, $EE, $9D, $D9, $61, $E9, $53, + $4B, $D6, $B4, $F9, $7A, $DC, $5B, $75, $AE, $E2, $96, $4B, $BE, $13, $62, $90, + $B6, $97, $53, $D7, $3F, $23, $C5, $FE, $EA, $11, $A1, $52, $6B, $BD, $94, $87, + $4C, $CD, $0A, $6A, $9D, $DC, $87, $43, $A3, $46, $5D, $B4, $81, $FE, $73, $9F, + $10, $70, $EC, $88, $91, $21, $9A, $15, $40, $F0, $EB, $F5, $21, $EF, $7B, $7F, + $A1, $96, $FB, $26, $C6, $2F, $3E, $E6, $F1, $B3, $3D, $E2, $5F, $08, $86, $D8, + $B0, $1E, $FF, $06, $48, $F6, $B9, $BB, $4F, $AF, $49, $6F, $E5, $FF, $DB, $75, + $B3, $5A, $04, $FC, $D1, $C9, $50, $96, $73, $0E, $93, $9B, $86, $10, $B7, $78, + $7E, $AB, $DE, $F4, $34, $9B, $41, $6D, $C9, $D7, $B6, $18, $9F, $79, $57, $90, + $98, $99, $63, $A2, $32, $37, $9B, $CE, $B0, $2D, $B1, $7A, $64, $81, $DC, $80, + $5A, $F9, $32, $41, $F7, $9E, $E1, $5E, $FD, $29, $2D, $AA, $B2, $AB, $06, $F1, + $1A, $41, $EE, $87, $FA, $28, $8B, $1B, $7D, $DD, $86, $9A, $4C, $BD, $25, $2A, + $E2, $97, $CA, $37, $E1, $68, $0E, $D4, $B0, $FC, $46, $85, $0D, $18, $AD, $8D, + $FB, $51, $B1, $31, $06, $A4, $BA, $F0, $1D, $A3, $15, $7C, $BB, $A7, $8D, $35, + $F2, $43, $01, $9E, $E7, $82, $58, $C6, $25, $7F, $F0, $E6, $B4, $6B, $E4, $43, + $1C, $97, $AF, $A6, $4E, $C7, $62, $31, $89, $A5, $D6, $6B, $DF, $3F, $03, $EC, + $A7, $D1, $2B, $F4, $2A, $58, $B1, $DB, $9C, $0D, $82, $59, $78, $F1, $9D, $87, + $09, $E9, $5D, $2C, $8E, $B1, $9F, $46, $D7, $30, $30, $BA, $F8, $F5, $62, $87, + $0D, $03, $8D, $9D, $F3, $1F, $8E, $79, $04, $FF, $AB, $D4, $44, $90, $79, $65, + $DF, $D2, $A1, $17, $B5, $73, $0F, $FB, $B9, $FD, $5B, $E2, $3E, $41, $B5, $D2, + $95, $09, $82, $41, $0C, $D4, $BA, $A3, $48, $D2, $7E, $14, $86, $AE, $9D, $13, + $9C, $49, $60, $E0, $95, $B1, $7F, $96, $26, $39, $C2, $A5, $F1, $03, $A2, $54, + $66, $87, $F2, $D8, $67, $EE, $2D, $4B, $95, $8E, $DF, $1A, $E5, $4F, $6E, $D7, + $A8, $C1, $38, $95, $77, $03, $C6, $FA, $F3, $63, $A8, $13, $00, $89, $C2, $F3, + $7C, $A8, $48, $2B, $8E, $84, $EE, $18, $A4, $01, $08, $BF, $CB, $A7, $3B, $CA, + $54, $59, $BA, $C2, $A4, $64, $A9, $61, $3F, $B5, $F3, $C2, $55, $F6, $36, $2B, + $A0, $CB, $F5, $74, $92, $37, $68, $EE, $A9, $B4, $21, $AD, $02, $6C, $C3, $F1, + $87, $40, $DB, $35, $3B, $90, $ED, $EA, $5C, $86, $12, $58, $C1, $8D, $FA, $71, + $B5, $71, $3B, $9A, $D2, $85, $68, $D6, $67, $18, $BD, $D0, $A0, $3F, $A4, $0F, + $58, $FD, $84, $92, $65, $E0, $2B, $4D, $91, $B3, $AC, $4A, $FF, $3D, $1D, $A4, + $CE, $E0, $47, $B5, $32, $59, $C2, $BC, $8C, $6F, $DF, $68, $5F, $E5, $B7, $B4, + $04, $FF, $60, $6E, $F1, $F7, $CC, $06, $D3, $62, $39, $EC, $CC, $FD, $26, $E6, + $54, $47, $FA, $8B, $89, $21, $B4, $3B, $32, $F6, $B5, $CA, $58, $DF, $45, $51, + $D2, $A1, $8F, $46, $E7, $52, $67, $FA, $DA, $D3, $6B, $DD, $02, $74, $AD, $FE, + $86, $31, $AF, $55, $47, $E4, $EB, $B9, $02, $CB, $39, $3C, $94, $84, $99, $68, + $EB, $34, $2E, $81, $F7, $E7, $75, $AE, $39, $64, $C4, $83, $A5, $4E, $C1, $00, + $49, $CB, $FB, $DD, $1C, $8B, $77, $59, $B4, $C1, $C4, $75, $9B, $7E, $0F, $D4, + $8E, $F5, $65, $E6, $25, $49, $98, $DC, $93, $28, $B9, $46, $52, $99, $F0, $F7, + $7C, $96, $56, $3D, $D0, $AB, $F3, $4A, $D1, $1F, $73, $9F, $DF, $BB, $01, $B6, + $56, $41, $A8, $E6, $C1, $19, $D7, $25, $7B, $90, $C9, $CA, $60, $FA, $47, $3A, + $8E, $BE, $9B, $58, $F9, $24, $24, $DD, $D9, $A2, $42, $C0, $29, $26, $F5, $B4, + $B6, $43, $AA, $01, $13, $FA, $9D, $EC, $0E, $E4, $7C, $1C, $ED, $E6, $84, $14, + $EE, $62, $79, $85, $DD, $A2, $57, $94, $4D, $51, $BD, $B3, $AD, $1F, $C8, $24, + $6A, $D7, $90, $8C, $2B, $B4, $59, $5F, $D1, $E1, $C0, $4B, $E8, $21, $31, $F8, + $A0, $DE, $0F, $FC, $3B, $29, $BD, $CB, $D4, $51, $AE, $1F, $3A, $A2, $D8, $EB, + $5B, $D8, $76, $48, $DA, $AE, $E3, $4B, $B4, $45, $4E, $E5, $EF, $9F, $74, $90, + $30, $2E, $BA, $C8, $B6, $2F, $E6, $16, $33, $B7, $F4, $A8, $3B, $D9, $4B, $60, + $F3, $9F, $CA, $7D, $F8, $07, $2E, $88, $9A, $95, $27, $F5, $09, $5A, $AC, $B4, + $F7, $5C, $D4, $71, $0E, $D6, $EF, $FE, $3C, $C2, $17, $20, $E9, $B4, $88, $6D, + $CC, $58, $4E, $F4, $F9, $FE, $2E, $A4, $6A, $26, $EC, $9E, $CD, $23, $8E, $40, + $08, $C1, $90, $CF, $2B, $C8, $0F, $65, $F5, $C4, $86, $76, $F7, $41, $1C, $8E, + $8C, $A2, $06, $C8, $22, $59, $F7, $8F, $E7, $4F, $C6, $35, $39, $8C, $E2, $E8, + $24, $D0, $59, $77, $CE, $B7, $91, $04, $D9, $48, $6F, $CC, $8A, $D5, $4D, $D0, + $1F, $3E, $CB, $F7, $E0, $4A, $83, $4A, $3B, $CC, $D8, $95, $05, $FA, $71, $77, + $F7, $8D, $C3, $7F, $EE, $6F, $0D, $D6, $C9, $AB, $66, $A7, $44, $22, $DA, $AF, + $CC, $52, $D6, $71, $5A, $C4, $FB, $89, $0F, $C5, $63, $62, $DD, $B8, $E8, $3E, + $DC, $09, $56, $98, $92, $FD, $5F, $F0, $7E, $46, $B8, $90, $D1, $2A, $C8, $4B, + $13, $D8, $83, $CC, $5C, $B3, $4D, $01, $8E, $E9, $A4, $1E, $C4, $1B, $05, $E1, + $D9, $EB, $10, $FC, $70, $56, $AB, $8C, $9F, $5B, $A7, $6D, $6B, $A3, $B0, $E1, + $3B, $E2, $44, $27, $C3, $A0, $F3, $44, $E5, $42, $27, $E2, $C0, $9A, $26, $DF, + $52, $3D, $B2, $F7, $81, $1F, $FA, $11, $61, $F9, $E9, $87, $4C, $FA, $7F, $33, + $8C, $85, $D8, $66, $F2, $48, $38, $F0, $BD, $84, $2B, $FF, $7F, $6B, $D5, $9E, + $BF, $69, $B6, $3E, $57, $CA, $96, $93, $09, $BB, $7D, $3C, $D9, $DC, $D1, $58, + $83, $12, $7C, $C7, $E8, $C9, $13, $B4, $53, $64, $FB, $8C, $C9, $63, $E6, $14, + $26, $C4, $C9, $F7, $56, $AE, $6B, $26, $D6, $C2, $B2, $77, $D0, $13, $1A, $E8, + $C4, $B5, $0E, $D8, $66, $44, $D0, $B7, $CB, $63, $94, $68, $0F, $E2, $E3, $9E, + $5D, $A0, $6B, $2C, $EB, $88, $BB, $33, $9F, $28, $7F, $A8, $A2, $B9, $33, $EC, + $54, $62, $D9, $BE, $86, $1A, $8E, $08, $55, $F5, $B6, $A8, $5C, $DD, $3E, $6E, + $B7, $9C, $97, $40, $FB, $31, $17, $DD, $F7, $9C, $21, $AD, $5E, $2B, $AE, $D1, + $8E, $6B, $8C, $60, $1B, $C7, $F0, $85, $13, $F3, $6D, $62, $BE, $C6, $B3, $76, + $87, $09, $7B, $A3, $ED, $AC, $2D, $D9, $7C, $18, $DE, $FC, $97, $00, $A0, $32, + $64, $99, $F7, $CA, $38, $A8, $58, $6E, $AA, $C9, $AC, $58, $A6, $59, $68, $9D, + $C5, $F2, $5F, $9C, $53, $68, $A8, $B3, $95, $64, $8B, $3F, $07, $ED, $BF, $F4, + $0E, $8C, $44, $12, $81, $E5, $A6, $16, $8A, $17, $11, $A7, $F6, $81, $14, $D8, + $14, $55, $C8, $E5, $9E, $60, $FA, $79, $24, $BD, $AA, $AB, $79, $FC, $06, $3C, + $FC, $DC, $98, $7B, $E5, $2F, $7D, $DA, $9B, $CA, $7B, $83, $44, $29, $E9, $BC, + $D3, $05, $C1, $14, $68, $87, $8B, $A5, $0B, $EC, $2E, $57, $E5, $CB, $90, $45, + $DE, $47, $62, $9B, $C8, $93, $3C, $C7, $3C, $08, $AE, $BC, $FE, $5D, $FC, $6A, + $4E, $A8, $A4, $DF, $06, $F5, $52, $29, $95, $A5, $D8, $1D, $F4, $16, $4E, $B5, + $A6, $C8, $10, $EF, $77, $34, $C9, $99, $A4, $7E, $A2, $3C, $22, $A2, $85, $FB, + $65, $D8, $68, $1E, $EC, $F6, $DD, $3E, $D7, $70, $62, $83, $E9, $E1, $27, $AF, + $2F, $39, $F4, $BD, $80, $3E, $F3, $3A, $0F, $C1, $F0, $F0, $16, $CE, $45, $42, + $B1, $BA, $C1, $57, $B1, $7C, $27, $EA, $F4, $9E, $15, $E1, $2A, $29, $9D, $FA, + $C0, $16, $DD, $3D, $70, $CB, $C2, $94, $7B, $FE, $4F, $0A, $9B, $DA, $9A, $0B + ); + + defBdsPatchDllDatas: array[0..13823] of Byte = ( + $4D, $5A, $90, $00, $03, $00, $00, $00, $04, $00, $00, $00, $FF, $FF, $00, $00, + $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $D8, $00, $00, $00, + $0E, $1F, $BA, $0E, $00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, + $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, + $74, $20, $62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, + $6D, $6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00, + $C9, $E7, $94, $1A, $8D, $86, $FA, $49, $8D, $86, $FA, $49, $8D, $86, $FA, $49, + $68, $DF, $FE, $48, $88, $86, $FA, $49, $84, $FE, $69, $49, $88, $86, $FA, $49, + $8D, $86, $FB, $49, $A7, $86, $FA, $49, $7F, $DF, $F3, $48, $8A, $86, $FA, $49, + $7F, $DF, $FA, $48, $8C, $86, $FA, $49, $7F, $DF, $05, $49, $8C, $86, $FA, $49, + $7F, $DF, $F8, $48, $8C, $86, $FA, $49, $52, $69, $63, $68, $8D, $86, $FA, $49, + $00, $00, $00, $00, $00, $00, $00, $00, $50, $45, $00, $00, $4C, $01, $05, $00, + $E1, $70, $F1, $55, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $02, $21, + $0B, $01, $0E, $00, $00, $1C, $00, $00, $00, $18, $00, $00, $00, $00, $00, $00, + $80, $18, $00, $00, $00, $10, $00, $00, $00, $30, $00, $00, $00, $00, $00, $10, + $00, $10, $00, $00, $00, $02, $00, $00, $05, $00, $01, $00, $00, $00, $00, $00, + $05, $00, $01, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $04, $00, $00, + $FD, $77, $00, $00, $02, $00, $40, $05, $00, $00, $10, $00, $00, $10, $00, $00, + $00, $00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, + $B0, $36, $00, $00, $6B, $00, $00, $00, $28, $38, $00, $00, $3C, $00, $00, $00, + $00, $50, $00, $00, $E0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $E0, $01, $00, $00, + $30, $36, $00, $00, $1C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $50, $36, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $30, $00, $00, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $2E, $74, $65, $78, $74, $00, $00, $00, $0D, $1A, $00, $00, $00, $10, $00, $00, + $00, $1C, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $20, $00, $00, $60, $2E, $72, $64, $61, $74, $61, $00, $00, + $32, $0C, $00, $00, $00, $30, $00, $00, $00, $0E, $00, $00, $00, $20, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $64, $61, $74, $61, $00, $00, $00, $8C, $05, $00, $00, $00, $40, $00, $00, + $00, $04, $00, $00, $00, $2E, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $C0, $2E, $72, $73, $72, $63, $00, $00, $00, + $E0, $01, $00, $00, $00, $50, $00, $00, $00, $02, $00, $00, $00, $32, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $72, $65, $6C, $6F, $63, $00, $00, $E0, $01, $00, $00, $00, $60, $00, $00, + $00, $02, $00, $00, $00, $34, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $42, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $51, $53, $56, $33, $F6, $56, $68, $80, $00, $00, $00, $6A, $03, $56, $6A, $01, + $68, $00, $00, $00, $80, $51, $FF, $15, $00, $30, $00, $10, $8B, $D8, $83, $FB, + $FF, $0F, $84, $81, $00, $00, $00, $57, $8D, $44, $24, $0C, $89, $74, $24, $0C, + $50, $53, $FF, $15, $04, $30, $00, $10, $8B, $F8, $83, $FF, $FF, $74, $61, $39, + $74, $24, $0C, $75, $5B, $55, $56, $56, $56, $6A, $02, $56, $53, $FF, $15, $08, + $30, $00, $10, $8B, $E8, $83, $FD, $FF, $74, $45, $56, $56, $56, $6A, $04, $55, + $FF, $15, $0C, $30, $00, $10, $8B, $D0, $85, $D2, $74, $2C, $83, $CE, $FF, $8B, + $CA, $85, $FF, $74, $1A, $0F, $B6, $01, $8D, $49, $01, $33, $C6, $C1, $EE, $08, + $0F, $B6, $C0, $33, $34, $85, $D0, $30, $00, $10, $83, $EF, $01, $75, $E6, $52, + $F7, $D6, $FF, $15, $10, $30, $00, $10, $55, $FF, $15, $14, $30, $00, $10, $5D, + $53, $FF, $15, $14, $30, $00, $10, $5F, $8B, $C6, $5E, $5B, $59, $C3, $CC, $CC, + $C7, $44, $24, $10, $00, $00, $00, $00, $C7, $44, $24, $0C, $00, $00, $00, $00, + $FF, $25, $A4, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $FF, $25, $A8, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $33, $C0, $40, $C2, $04, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $81, $B9, $F0, $0F, $00, $00, $78, $56, $34, $12, $53, $8D, $99, $F0, $0F, + $00, $00, $74, $52, $56, $57, $8B, $3D, $18, $30, $00, $10, $8D, $44, $24, $0C, + $50, $6A, $40, $8D, $B1, $40, $F6, $02, $00, $6A, $02, $56, $FF, $D7, $B8, $B3, + $01, $00, $00, $66, $89, $06, $8D, $44, $24, $0C, $50, $FF, $74, $24, $10, $6A, + $02, $56, $FF, $D7, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $53, $FF, $D7, + $8D, $44, $24, $0C, $C7, $03, $78, $56, $34, $12, $50, $FF, $74, $24, $10, $6A, + $04, $53, $FF, $D7, $5F, $5E, $5B, $59, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $14, $56, $57, $8B, $7C, $24, $18, $53, $57, $FF, $74, $24, + $1C, $FF, $74, $24, $1C, $FF, $15, $44, $45, $00, $10, $8B, $F0, $85, $F6, $75, + $5C, $85, $DB, $74, $58, $F7, $C7, $00, $00, $FF, $FF, $74, $50, $66, $39, $07, + $74, $4B, $8B, $57, $04, $F7, $C2, $00, $00, $FF, $FF, $74, $40, $8B, $CA, $66, + $39, $02, $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, + $D1, $66, $83, $39, $00, $75, $ED, $0F, $B7, $02, $83, $F8, $73, $74, $05, $83, + $F8, $53, $75, $17, $68, $D0, $34, $00, $10, $52, $FF, $15, $1C, $30, $00, $10, + $85, $C0, $75, $07, $8B, $0B, $E8, $15, $FF, $FF, $FF, $8B, $C6, $5F, $5E, $5B, + $C2, $10, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $50, $A1, $54, $45, $00, $10, $3B, $44, $24, $04, $75, $06, $8B, $45, $2C, $C6, + $00, $01, $58, $FF, $25, $58, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $08, $56, $8B, $74, $24, $10, $57, $56, $53, $FF, $15, $3C, + $45, $00, $10, $8B, $F8, $85, $FF, $75, $77, $3B, $1D, $5C, $45, $00, $10, $75, + $6F, $F7, $C6, $00, $00, $FF, $FF, $74, $67, $B9, $F4, $34, $00, $10, $8B, $C6, + $8A, $10, $3A, $11, $75, $1A, $84, $D2, $74, $12, $8A, $50, $01, $3A, $51, $01, + $75, $0E, $83, $C0, $02, $83, $C1, $02, $84, $D2, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $74, $32, $B8, $10, $35, $00, $10, $66, $90, + $8A, $0E, $3A, $08, $75, $1A, $84, $C9, $74, $12, $8A, $4E, $01, $3A, $48, $01, + $75, $0E, $83, $C6, $02, $83, $C0, $02, $84, $C9, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $8B, $C7, $75, $05, $B8, $E0, $10, $00, $10, + $5F, $5E, $5B, $C2, $08, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $55, $8B, $6C, $24, $0C, $8B, $5C, $24, $10, $8B, $4C, $24, $14, $8B, $44, + $24, $18, $8B, $54, $24, $1C, $F0, $0F, $C7, $4D, $00, $5D, $5B, $C2, $14, $00, + $74, $67, $60, $8B, $4D, $0C, $03, $C8, $8D, $51, $02, $81, $3A, $49, $6E, $74, + $65, $75, $4F, $81, $7A, $04, $72, $6C, $6F, $63, $75, $46, $81, $7A, $08, $6B, + $65, $64, $43, $75, $3D, $81, $7A, $0C, $6F, $6D, $70, $61, $75, $34, $81, $7A, + $10, $72, $65, $45, $78, $75, $2B, $81, $7A, $14, $63, $68, $61, $6E, $75, $22, + $81, $7A, $18, $67, $65, $36, $34, $75, $19, $80, $7A, $1C, $00, $75, $13, $B8, + $B0, $12, $00, $10, $8B, $55, $14, $89, $02, $61, $33, $C0, $FF, $25, $4C, $45, + $00, $10, $61, $FF, $25, $50, $45, $00, $10, $B8, $7A, $00, $00, $C0, $FF, $25, + $4C, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $56, $8B, $35, $24, $30, $00, $10, $68, $30, $35, $00, $10, $FF, $D6, $68, + $4C, $35, $00, $10, $A3, $60, $45, $00, $10, $FF, $D6, $8B, $35, $28, $30, $00, + $10, $68, $3C, $45, $00, $10, $68, $64, $35, $00, $10, $FF, $35, $60, $45, $00, + $10, $A3, $5C, $45, $00, $10, $FF, $D6, $BA, $10, $12, $00, $10, $8B, $C8, $E8, + $1A, $0B, $00, $00, $68, $74, $35, $00, $10, $FF, $35, $64, $45, $00, $10, $FF, + $D6, $85, $C0, $0F, $84, $6F, $01, $00, $00, $83, $3D, $60, $45, $00, $10, $00, + $0F, $84, $62, $01, $00, $00, $8B, $0D, $64, $45, $00, $10, $53, $55, $8D, $98, + $00, $FC, $FF, $FF, $8B, $51, $3C, $57, $8D, $78, $C0, $8B, $6C, $0A, $2C, $03, + $E9, $8B, $4C, $0A, $1C, $03, $CD, $3B, $DD, $89, $4C, $24, $10, $0F, $42, $DD, + $3B, $FB, $0F, $86, $2D, $01, $00, $00, $8D, $77, $03, $0F, $1F, $44, $00, $00, + $8B, $07, $25, $FF, $F8, $FF, $00, $3D, $C1, $E8, $1F, $00, $0F, $85, $E4, $00, + $00, $00, $8D, $56, $08, $8B, $CE, $3B, $F2, $0F, $83, $D7, $00, $00, $00, $90, + $8B, $01, $25, $FF, $F8, $FF, $00, $3D, $80, $E0, $01, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $BE, $00, $00, $00, $3B, $CA, $0F, $83, $B6, $00, $00, $00, + $83, $C1, $03, $8D, $51, $08, $3B, $CA, $0F, $83, $A8, $00, $00, $00, $66, $90, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $88, $45, $13, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $8E, $00, $00, $00, $3B, $CA, $0F, $83, $86, $00, $00, $00, + $83, $C1, $03, $8D, $41, $08, $3B, $C8, $0F, $83, $78, $00, $00, $00, $BA, $0F, + $85, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, $72, $F6, $EB, $67, $3B, + $C8, $73, $63, $83, $C1, $06, $8D, $51, $08, $3B, $CA, $73, $59, $0F, $1F, $00, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $8B, $45, $0C, $00, $74, $07, $41, $3B, + $CA, $72, $ED, $EB, $41, $3B, $CA, $73, $3D, $83, $C1, $03, $8D, $41, $08, $3B, + $C8, $73, $33, $BA, $0F, $84, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, + $72, $F6, $EB, $22, $3B, $C8, $73, $1E, $8D, $51, $06, $03, $51, $02, $3B, $D5, + $72, $14, $3B, $54, $24, $10, $73, $0E, $80, $3A, $B8, $75, $09, $81, $7A, $01, + $7A, $00, $00, $C0, $74, $10, $4F, $4E, $3B, $FB, $0F, $87, $00, $FF, $FF, $FF, + $5F, $5D, $5B, $5E, $59, $C3, $8D, $41, $06, $A3, $50, $45, $00, $10, $8D, $42, + $05, $68, $40, $45, $00, $10, $BA, $D0, $12, $00, $10, $A3, $4C, $45, $00, $10, + $E8, $99, $09, $00, $00, $5F, $5D, $5B, $5E, $59, $C3, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $01, $00, $00, $53, $8B, $1D, $50, $30, $00, $10, $55, $56, $57, + $33, $FF, $33, $ED, $57, $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $8B, $35, + $6C, $30, $00, $10, $85, $C0, $74, $1D, $83, $FF, $20, $73, $04, $6A, $00, $EB, + $02, $6A, $01, $FF, $D6, $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $47, $FF, + $D3, $85, $C0, $75, $E3, $39, $2D, $6C, $45, $00, $10, $75, $1A, $6A, $00, $6A, + $00, $6A, $00, $FF, $15, $44, $30, $00, $10, $A3, $6C, $45, $00, $10, $85, $C0, + $75, $0A, $8D, $68, $09, $EB, $05, $BD, $01, $00, $00, $00, $6A, $00, $68, $68, + $45, $00, $10, $FF, $15, $40, $30, $00, $10, $85, $ED, $0F, $85, $BC, $00, $00, + $00, $68, $8C, $35, $00, $10, $FF, $15, $24, $30, $00, $10, $68, $44, $45, $00, + $10, $68, $A0, $35, $00, $10, $50, $A3, $64, $45, $00, $10, $FF, $15, $28, $30, + $00, $10, $BA, $60, $11, $00, $10, $8B, $C8, $E8, $E0, $08, $00, $00, $85, $C0, + $0F, $85, $87, $00, $00, $00, $32, $C0, $8D, $7C, $24, $10, $B9, $14, $01, $00, + $00, $F3, $AA, $8D, $44, $24, $10, $C7, $44, $24, $10, $14, $01, $00, $00, $50, + $FF, $15, $20, $30, $00, $10, $85, $C0, $74, $13, $83, $7C, $24, $20, $02, $75, + $07, $83, $7C, $24, $14, $05, $77, $05, $E8, $43, $FD, $FF, $FF, $33, $FF, $57, + $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $85, $C0, $74, $20, $0F, $1F, $00, + $83, $FF, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D6, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $47, $FF, $D3, $85, $C0, $75, $E3, $83, $3D, $6C, + $45, $00, $10, $00, $74, $0A, $B9, $01, $00, $00, $00, $E8, $ED, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $5F, $5E, $5D, + $5B, $81, $C4, $14, $01, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $1D, $50, $30, $00, $10, $56, $33, $F6, $56, $6A, $01, $68, $68, $45, + $00, $10, $FF, $D3, $85, $C0, $74, $26, $57, $8B, $3D, $6C, $30, $00, $10, $90, + $83, $FE, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D7, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $46, $FF, $D3, $85, $C0, $75, $E3, $5F, $83, $3D, + $6C, $45, $00, $10, $00, $5E, $5B, $74, $07, $33, $C9, $E8, $7D, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $E9, $51, $07, + $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $57, $68, $AC, $35, $00, $10, $FF, $15, $2C, $30, $00, $10, $8B, $F8, $85, + $FF, $0F, $84, $80, $00, $00, $00, $53, $56, $68, $C8, $35, $00, $10, $57, $FF, + $15, $28, $30, $00, $10, $8B, $1D, $18, $30, $00, $10, $8B, $F0, $85, $F6, $74, + $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, $56, $FF, $D3, $8D, $44, $24, + $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, $24, $10, $C6, $46, $04, $00, + $6A, $FF, $56, $FF, $D3, $68, $D8, $35, $00, $10, $57, $FF, $15, $28, $30, $00, + $10, $8B, $F0, $85, $F6, $74, $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, + $56, $FF, $D3, $8D, $44, $24, $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, + $24, $10, $C6, $46, $04, $00, $6A, $FF, $56, $FF, $D3, $5E, $5B, $C6, $05, $48, + $45, $00, $10, $00, $5F, $59, $C3, $C6, $05, $48, $45, $00, $10, $01, $5F, $59, + $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $04, $00, $00, $53, $56, $57, $6A, $00, $FF, $15, $24, $30, $00, + $10, $8B, $D8, $8D, $44, $24, $10, $68, $08, $02, $00, $00, $50, $53, $FF, $15, + $30, $30, $00, $10, $66, $83, $7C, $24, $10, $00, $8D, $4C, $24, $10, $8B, $F1, + $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, $F1, $66, + $83, $39, $00, $75, $ED, $8B, $3D, $1C, $30, $00, $10, $68, $EC, $35, $00, $10, + $56, $FF, $D7, $85, $C0, $75, $25, $8D, $4C, $24, $10, $E8, $10, $F8, $FF, $FF, + $3D, $CE, $BD, $EE, $22, $74, $07, $3D, $E2, $F5, $99, $11, $75, $72, $8D, $83, + $48, $F7, $01, $00, $8D, $BB, $C4, $3F, $12, $00, $EB, $28, $68, $FC, $35, $00, + $10, $56, $FF, $D7, $85, $C0, $75, $58, $8D, $4C, $24, $10, $E8, $DF, $F7, $FF, + $FF, $3D, $C1, $C7, $1B, $C7, $75, $48, $8D, $83, $70, $AD, $1F, $00, $8D, $BB, + $00, $28, $63, $00, $8B, $35, $18, $30, $00, $10, $A3, $54, $45, $00, $10, $8B, + $07, $A3, $58, $45, $00, $10, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $57, + $FF, $D6, $8D, $44, $24, $0C, $C7, $07, $F0, $11, $00, $10, $50, $FF, $74, $24, + $10, $6A, $04, $57, $FF, $D6, $E8, $75, $FE, $FF, $FF, $E8, $B0, $FC, $FF, $FF, + $5F, $5E, $5B, $81, $C4, $14, $04, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, + $8B, $44, $24, $08, $83, $F8, $03, $77, $2F, $FF, $24, $85, $C0, $18, $00, $10, + $E8, $FB, $FE, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, $80, $3D, $48, + $45, $00, $10, $00, $74, $12, $E8, $35, $FE, $FF, $FF, $B8, $01, $00, $00, $00, + $C2, $0C, $00, $E8, $B8, $FD, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, + $B3, $18, $00, $10, $90, $18, $00, $10, $9D, $18, $00, $10, $9D, $18, $00, $10, + $56, $8B, $35, $88, $45, $00, $10, $33, $C0, $85, $F6, $74, $12, $8B, $15, $80, + $45, $00, $10, $3B, $0A, $74, $0B, $40, $83, $C2, $28, $3B, $C6, $72, $F4, $83, + $C8, $FF, $5E, $C3, $8B, $0D, $80, $45, $00, $10, $85, $C9, $75, $2B, $68, $00, + $05, $00, $00, $51, $FF, $35, $6C, $45, $00, $10, $C7, $05, $84, $45, $00, $10, + $20, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $8B, $C8, $89, $0D, $80, $45, + $00, $10, $85, $C9, $75, $3D, $33, $C0, $C3, $8B, $15, $88, $45, $00, $10, $A1, + $84, $45, $00, $10, $3B, $D0, $72, $31, $6B, $C0, $50, $50, $51, $6A, $00, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, $10, $8B, $C8, $85, $C9, $74, + $D5, $A1, $84, $45, $00, $10, $03, $C0, $89, $0D, $80, $45, $00, $10, $A3, $84, + $45, $00, $10, $8B, $15, $88, $45, $00, $10, $6B, $C2, $28, $03, $C1, $42, $89, + $15, $88, $45, $00, $10, $C3, $55, $8B, $EC, $81, $EC, $D8, $02, $00, $00, $A1, + $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $C1, $C7, $85, $30, $FD, $FF, + $FF, $01, $00, $01, $00, $56, $8D, $8D, $30, $FD, $FF, $FF, $89, $85, $28, $FD, + $FF, $FF, $51, $50, $8B, $F2, $FF, $15, $7C, $30, $00, $10, $85, $C0, $0F, $84, + $C3, $00, $00, $00, $53, $83, $FE, $FF, $75, $0A, $8B, $1D, $88, $45, $00, $10, + $33, $F6, $EB, $03, $8D, $5E, $01, $3B, $F3, $0F, $83, $A7, $00, $00, $00, $6B, + $D6, $28, $2B, $DE, $57, $8B, $BD, $28, $FD, $FF, $FF, $89, $95, $2C, $FD, $FF, + $FF, $8B, $35, $80, $45, $00, $10, $8B, $45, $08, $03, $F2, $83, $E8, $00, $74, + $1A, $83, $E8, $01, $74, $10, $83, $E8, $01, $75, $12, $8B, $7E, $14, $C1, $E7, + $1D, $C1, $FF, $1F, $EB, $07, $33, $FF, $47, $EB, $02, $33, $FF, $8B, $56, $14, + $8B, $C2, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C7, $74, $41, $85, $FF, $74, $70, + $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $14, $0F, $B6, $44, $0E, $18, $03, + $06, $39, $85, $E8, $FD, $FF, $FF, $74, $4D, $41, $3B, $CA, $72, $EC, $33, $C9, + $85, $C9, $74, $19, $8D, $85, $30, $FD, $FF, $FF, $89, $8D, $E8, $FD, $FF, $FF, + $50, $FF, $B5, $28, $FD, $FF, $FF, $FF, $15, $88, $30, $00, $10, $8B, $95, $2C, + $FD, $FF, $FF, $83, $C2, $28, $89, $95, $2C, $FD, $FF, $FF, $83, $EB, $01, $0F, + $85, $6C, $FF, $FF, $FF, $5F, $5B, $8B, $4D, $FC, $33, $CD, $5E, $E8, $50, $0E, + $00, $00, $8B, $E5, $5D, $C3, $0F, $B6, $4C, $31, $20, $03, $4E, $08, $EB, $B0, + $F6, $C2, $01, $74, $0D, $8B, $0E, $8D, $41, $FB, $39, $85, $E8, $FD, $FF, $FF, + $74, $9E, $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $92, $0F, $B6, $44, $0E, + $20, $03, $46, $08, $39, $85, $E8, $FD, $FF, $FF, $74, $0A, $41, $3B, $CA, $72, + $EB, $E9, $78, $FF, $FF, $FF, $0F, $B6, $4C, $31, $18, $03, $0E, $E9, $6E, $FF, + $FF, $FF, $55, $8B, $EC, $83, $EC, $20, $A1, $04, $40, $00, $10, $33, $C5, $89, + $45, $FC, $56, $57, $6A, $00, $6A, $04, $8B, $F1, $FF, $15, $68, $30, $00, $10, + $8B, $F8, $83, $FF, $FF, $0F, $84, $AE, $00, $00, $00, $8D, $45, $E0, $C7, $45, + $E0, $1C, $00, $00, $00, $50, $57, $FF, $15, $58, $30, $00, $10, $E9, $88, $00, + $00, $00, $83, $7D, $E0, $10, $72, $70, $FF, $15, $80, $30, $00, $10, $39, $45, + $EC, $75, $65, $FF, $15, $5C, $30, $00, $10, $39, $45, $E8, $74, $5A, $83, $3E, + $00, $75, $22, $68, $00, $02, $00, $00, $6A, $00, $FF, $35, $6C, $45, $00, $10, + $C7, $46, $04, $80, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $89, $06, $85, + $C0, $74, $4F, $EB, $25, $8B, $46, $04, $39, $46, $08, $72, $1D, $C1, $E0, $03, + $50, $FF, $36, $6A, $00, $FF, $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, + $10, $85, $C0, $74, $2D, $D1, $66, $04, $89, $06, $8B, $56, $08, $8B, $0E, $8B, + $45, $E8, $89, $04, $91, $FF, $46, $08, $8D, $45, $E0, $C7, $45, $E0, $1C, $00, + $00, $00, $50, $57, $FF, $15, $54, $30, $00, $10, $85, $C0, $0F, $85, $70, $FF, + $FF, $FF, $57, $FF, $15, $14, $30, $00, $10, $8B, $4D, $FC, $5F, $33, $CD, $5E, + $E8, $1D, $0D, $00, $00, $8B, $E5, $5D, $C3, $55, $8B, $EC, $51, $53, $56, $8B, + $F1, $89, $55, $FC, $33, $DB, $89, $1E, $89, $5E, $04, $89, $5E, $08, $E8, $FF, + $FE, $FF, $FF, $39, $1E, $74, $42, $57, $8B, $FB, $39, $5E, $08, $76, $39, $8B, + $06, $FF, $34, $B8, $53, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, $D8, $85, + $DB, $74, $1C, $53, $FF, $15, $60, $30, $00, $10, $FF, $75, $08, $8B, $55, $FC, + $8B, $CB, $E8, $6F, $FD, $FF, $FF, $59, $53, $FF, $15, $14, $30, $00, $10, $47, + $6A, $00, $5B, $3B, $7E, $08, $72, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, + $8B, $F1, $83, $3E, $00, $74, $44, $57, $33, $FF, $39, $7E, $08, $76, $2B, $53, + $8B, $06, $FF, $34, $B8, $6A, $00, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, + $D8, $85, $DB, $74, $0E, $53, $FF, $15, $64, $30, $00, $10, $53, $FF, $15, $14, + $30, $00, $10, $47, $3B, $7E, $08, $72, $D7, $5B, $FF, $36, $6A, $00, $FF, $35, + $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $5F, $5E, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $6B, $D9, $28, $56, $57, $6A, $05, $8B, $F2, $03, $1D, $80, + $45, $00, $10, $58, $89, $75, $F0, $89, $45, $FC, $F6, $43, $14, $01, $8B, $3B, + $89, $7D, $F8, $74, $0B, $2B, $F8, $6A, $07, $58, $89, $7D, $F8, $89, $45, $FC, + $8D, $4D, $F4, $51, $6A, $40, $50, $57, $FF, $15, $18, $30, $00, $10, $85, $C0, + $75, $05, $6A, $0A, $58, $EB, $7F, $85, $F6, $74, $1D, $C6, $07, $E9, $8B, $43, + $04, $2B, $C7, $83, $E8, $05, $89, $47, $01, $F6, $43, $14, $01, $74, $29, $8B, + $03, $66, $C7, $00, $EB, $F9, $EB, $20, $F6, $43, $14, $01, $74, $0F, $8D, $73, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $F8, $8B, $75, $F0, $EB, $0B, $8B, $43, $0C, + $89, $07, $8A, $43, $10, $88, $47, $04, $8D, $45, $F4, $50, $FF, $75, $F4, $FF, + $75, $FC, $57, $FF, $15, $18, $30, $00, $10, $FF, $75, $FC, $57, $FF, $15, $4C, + $30, $00, $10, $50, $FF, $15, $84, $30, $00, $10, $83, $E6, $01, $8B, $CE, $83, + $E1, $FD, $8D, $04, $36, $0B, $C8, $8B, $43, $14, $03, $C9, $83, $E0, $F9, $0B, + $C8, $33, $C0, $89, $4B, $14, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $8B, $1D, $88, $45, $00, $10, $8B, $D1, $56, $57, $33, $FF, + $89, $55, $FC, $8B, $F7, $85, $DB, $0F, $84, $83, $00, $00, $00, $8B, $0D, $80, + $45, $00, $10, $83, $C1, $14, $8B, $01, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C2, + $75, $0A, $46, $83, $C1, $28, $3B, $F3, $72, $EC, $EB, $64, $83, $FE, $FF, $74, + $5F, $33, $C0, $8D, $4D, $F0, $85, $D2, $0F, $95, $C0, $83, $CA, $FF, $50, $E8, + $25, $FE, $FF, $FF, $8B, $15, $88, $45, $00, $10, $59, $3B, $F2, $73, $39, $8B, + $4D, $FC, $6B, $DE, $28, $A1, $80, $45, $00, $10, $8B, $44, $03, $14, $C1, $E0, + $1E, $C1, $F8, $1F, $3B, $C1, $74, $18, $8B, $D1, $8B, $CE, $E8, $AC, $FE, $FF, + $FF, $8B, $F8, $85, $FF, $75, $11, $8B, $15, $88, $45, $00, $10, $8B, $4D, $FC, + $46, $83, $C3, $28, $3B, $F2, $72, $CD, $8D, $4D, $F0, $E8, $3F, $FE, $FF, $FF, + $8B, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, $33, $F6, $EB, $12, $83, $FE, + $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $15, $6C, $30, $00, $10, $46, + $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $FF, $15, $50, $30, $00, $10, $85, + $C0, $75, $DB, $5E, $C3, $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, + $00, $10, $C3, $57, $E8, $C0, $FF, $FF, $FF, $83, $3D, $6C, $45, $00, $10, $00, + $74, $70, $33, $C9, $E8, $04, $FF, $FF, $FF, $8B, $F8, $85, $FF, $75, $66, $A1, + $74, $45, $00, $10, $53, $33, $DB, $89, $1D, $74, $45, $00, $10, $85, $C0, $74, + $17, $56, $8B, $30, $68, $00, $80, $00, $00, $53, $50, $FF, $15, $90, $30, $00, + $10, $8B, $C6, $85, $F6, $75, $EB, $5E, $FF, $35, $80, $45, $00, $10, $53, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $FF, $35, $6C, $45, $00, + $10, $FF, $15, $78, $30, $00, $10, $89, $1D, $6C, $45, $00, $10, $89, $1D, $80, + $45, $00, $10, $89, $1D, $84, $45, $00, $10, $89, $1D, $88, $45, $00, $10, $5B, + $EB, $03, $6A, $02, $5F, $E8, $6B, $FF, $FF, $FF, $8B, $C7, $5F, $C3, $55, $8B, + $EC, $83, $EC, $30, $A1, $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $45, + $08, $53, $56, $57, $8B, $FA, $89, $45, $D0, $89, $7D, $D4, $8B, $F1, $33, $DB, + $E8, $14, $FF, $FF, $FF, $39, $1D, $6C, $45, $00, $10, $0F, $84, $EB, $00, $00, + $00, $8B, $CE, $E8, $8A, $04, $00, $00, $85, $C0, $0F, $84, $D8, $00, $00, $00, + $8B, $CF, $E8, $7B, $04, $00, $00, $85, $C0, $0F, $84, $C9, $00, $00, $00, $8B, + $CE, $E8, $CA, $F9, $FF, $FF, $83, $F8, $FF, $0F, $85, $B5, $00, $00, $00, $E8, + $9D, $03, $00, $00, $8B, $F8, $85, $FF, $0F, $84, $A2, $00, $00, $00, $8B, $45, + $D4, $8D, $4D, $D8, $89, $75, $D8, $89, $45, $DC, $89, $7D, $E0, $E8, $E2, $00, + $00, $00, $85, $C0, $74, $7E, $E8, $B9, $F9, $FF, $FF, $8B, $D0, $85, $D2, $74, + $6F, $8B, $45, $D8, $8B, $4D, $E8, $8B, $7D, $E0, $83, $E1, $0F, $89, $02, $8B, + $45, $DC, $89, $42, $04, $8B, $45, $E4, $83, $E0, $01, $C1, $E1, $03, $0B, $C8, + $89, $7A, $08, $8B, $42, $14, $83, $E0, $80, $0B, $C8, $8B, $45, $EC, $89, $42, + $18, $8B, $45, $F0, $89, $42, $1C, $8B, $45, $F4, $89, $42, $20, $8B, $45, $F8, + $89, $4A, $14, $89, $42, $24, $39, $5D, $E4, $74, $0F, $83, $C6, $FB, $8D, $7A, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $E0, $EB, $0B, $8B, $06, $89, $42, $0C, $8A, + $46, $04, $88, $42, $10, $8B, $45, $D0, $85, $C0, $74, $23, $89, $38, $EB, $1F, + $6A, $09, $EB, $02, $6A, $08, $5B, $8B, $CF, $E8, $67, $03, $00, $00, $EB, $0F, + $6A, $09, $EB, $0A, $6A, $03, $EB, $06, $6A, $07, $EB, $02, $6A, $02, $5B, $E8, + $41, $FE, $FF, $FF, $8B, $4D, $FC, $8B, $C3, $5F, $5E, $33, $CD, $5B, $E8, $EF, + $08, $00, $00, $8B, $E5, $5D, $C2, $04, $00, $56, $8B, $F1, $8A, $06, $84, $C0, + $74, $0C, $3C, $90, $74, $08, $3C, $CC, $74, $04, $33, $C0, $5E, $C3, $33, $C9, + $41, $3B, $D1, $76, $0A, $38, $04, $31, $75, $F0, $41, $3B, $CA, $72, $F6, $33, + $C0, $40, $5E, $C3, $55, $8B, $EC, $83, $EC, $58, $A1, $04, $40, $00, $10, $33, + $C5, $89, $45, $FC, $53, $33, $DB, $C6, $45, $AC, $E8, $56, $8B, $F1, $89, $5D, + $AD, $8A, $C3, $89, $75, $C4, $57, $C6, $45, $BC, $E9, $89, $5D, $BD, $66, $C7, + $45, $B4, $0F, $80, $89, $5D, $B6, $88, $45, $DF, $89, $5D, $D8, $89, $5D, $D4, + $89, $5E, $0C, $89, $5E, $10, $0F, $B6, $C8, $8D, $55, $E0, $8B, $46, $08, $0F, + $B6, $FB, $03, $C1, $03, $3E, $89, $4D, $A8, $8B, $CF, $89, $45, $C8, $E8, $2C, + $03, $00, $00, $F7, $45, $F8, $00, $10, $00, $00, $8B, $C8, $89, $4D, $D0, $0F, + $85, $19, $02, $00, $00, $89, $7D, $CC, $80, $FB, $05, $0F, $82, $84, $00, $00, + $00, $8B, $C7, $33, $D2, $2B, $45, $C8, $83, $E8, $05, $42, $6A, $05, $89, $45, + $BD, $8D, $45, $BC, $59, $89, $45, $CC, $89, $4D, $D0, $89, $55, $D4, $8B, $45, + $D8, $3B, $F8, $73, $0C, $0F, $B6, $45, $E0, $3B, $C8, $0F, $85, $DD, $01, $00, + $00, $8B, $45, $A8, $03, $C1, $83, $F8, $20, $0F, $87, $CF, $01, $00, $00, $8B, + $46, $10, $83, $F8, $08, $0F, $83, $C3, $01, $00, $00, $8A, $55, $DF, $88, $5C, + $30, $14, $8B, $46, $10, $02, $5D, $E0, $88, $54, $30, $1C, $8A, $C2, $8B, $7E, + $08, $FF, $46, $10, $03, $7D, $A8, $02, $45, $D0, $8B, $75, $CC, $8B, $55, $D4, + $88, $45, $DF, $F3, $A4, $85, $D2, $0F, $85, $2E, $01, $00, $00, $8B, $75, $C4, + $E9, $41, $FF, $FF, $FF, $8A, $55, $E6, $80, $FA, $E8, $75, $23, $0F, $B6, $45, + $E0, $2B, $45, $C8, $83, $C0, $FB, $03, $45, $F0, $03, $C7, $89, $45, $AD, $8D, + $45, $AC, $6A, $05, $59, $89, $45, $CC, $89, $4D, $D0, $E9, $6E, $FF, $FF, $FF, + $8A, $C2, $24, $FD, $3C, $E9, $75, $50, $0F, $B6, $4D, $E0, $03, $CF, $80, $FA, + $EB, $75, $08, $0F, $BE, $45, $F0, $03, $C8, $EB, $03, $03, $4D, $F0, $8B, $06, + $3B, $C1, $77, $1D, $83, $C0, $05, $3B, $C8, $73, $16, $8B, $45, $D8, $3B, $C1, + $0F, $83, $BD, $00, $00, $00, $89, $4D, $D8, $8B, $4D, $D0, $E9, $2D, $FF, $FF, + $FF, $2B, $4D, $C8, $8D, $45, $BC, $83, $E9, $05, $89, $45, $CC, $6A, $05, $89, + $4D, $BD, $59, $89, $4D, $D0, $EB, $29, $8A, $75, $E7, $8A, $E2, $80, $E4, $F0, + $80, $FC, $70, $74, $2C, $8A, $C2, $24, $FC, $3C, $E0, $74, $24, $8A, $C6, $24, + $F0, $3C, $80, $74, $1C, $80, $E2, $FE, $80, $FA, $C2, $0F, $85, $ED, $FE, $FF, + $FF, $8B, $45, $D8, $3B, $F8, $1B, $D2, $42, $89, $55, $D4, $E9, $E0, $FE, $FF, + $FF, $8A, $45, $E0, $0F, $B6, $C8, $03, $CF, $80, $FC, $70, $74, $0D, $8A, $C2, + $24, $FC, $3C, $E0, $74, $05, $03, $4D, $F0, $EB, $06, $0F, $BE, $45, $F0, $03, + $C8, $8B, $06, $3B, $C1, $77, $0B, $83, $C0, $05, $3B, $C8, $0F, $82, $69, $FF, + $FF, $FF, $8A, $C2, $24, $FC, $3C, $E0, $0F, $84, $90, $00, $00, $00, $0F, $B6, + $C2, $80, $FA, $0F, $75, $03, $0F, $B6, $C6, $2B, $4D, $C8, $24, $0F, $0C, $80, + $83, $E9, $06, $88, $45, $B5, $8D, $45, $B4, $89, $4D, $B6, $6A, $06, $E9, $01, + $FF, $FF, $FF, $8B, $4D, $D0, $E9, $76, $FE, $FF, $FF, $80, $FB, $05, $73, $59, + $8B, $7D, $C4, $0F, $B6, $F3, $6A, $05, $5A, $8B, $07, $2B, $D6, $03, $C6, $8B, + $C8, $89, $45, $C4, $E8, $90, $FD, $FF, $FF, $85, $C0, $75, $3C, $80, $FB, $02, + $73, $11, $8B, $4D, $C4, $6A, $02, $5A, $2B, $D6, $E8, $7A, $FD, $FF, $FF, $85, + $C0, $74, $2B, $8B, $0F, $83, $C1, $FB, $E8, $F5, $00, $00, $00, $85, $C0, $74, + $1D, $8B, $0F, $6A, $05, $83, $E9, $05, $5A, $E8, $5B, $FD, $FF, $FF, $85, $C0, + $74, $0C, $C7, $47, $0C, $01, $00, $00, $00, $33, $C0, $40, $EB, $02, $33, $C0, + $8B, $4D, $FC, $5F, $5E, $33, $CD, $5B, $E8, $25, $06, $00, $00, $8B, $E5, $5D, + $C3, $8B, $15, $74, $45, $00, $10, $56, $33, $F6, $EB, $07, $39, $72, $04, $75, + $4F, $8B, $12, $85, $D2, $75, $F5, $6A, $40, $68, $00, $30, $00, $00, $68, $00, + $10, $00, $00, $56, $FF, $15, $94, $30, $00, $10, $8B, $D0, $85, $D2, $74, $41, + $8D, $4A, $20, $89, $72, $04, $89, $72, $08, $8B, $F1, $2B, $F2, $8B, $42, $04, + $83, $C6, $20, $89, $01, $89, $4A, $04, $83, $C1, $20, $81, $FE, $E0, $0F, $00, + $00, $76, $EA, $A1, $74, $45, $00, $10, $89, $02, $89, $15, $74, $45, $00, $10, + $85, $D2, $74, $0D, $8B, $42, $04, $5E, $8B, $08, $FF, $42, $08, $89, $4A, $04, + $C3, $33, $C0, $5E, $C3, $8B, $15, $74, $45, $00, $10, $8B, $C1, $56, $33, $F6, + $25, $00, $F0, $FF, $FF, $EB, $08, $3B, $D0, $74, $0A, $8B, $F2, $8B, $12, $85, + $D2, $75, $F4, $5E, $C3, $8B, $42, $04, $89, $01, $83, $6A, $08, $01, $89, $4A, + $04, $75, $1D, $8B, $02, $85, $F6, $74, $04, $89, $06, $EB, $05, $A3, $74, $45, + $00, $10, $68, $00, $80, $00, $00, $6A, $00, $52, $FF, $15, $90, $30, $00, $10, + $5E, $C3, $55, $8B, $EC, $83, $EC, $1C, $6A, $1C, $8D, $45, $E4, $50, $51, $FF, + $15, $98, $30, $00, $10, $81, $7D, $F4, $00, $10, $00, $00, $75, $0B, $F6, $45, + $F8, $F0, $74, $05, $33, $C0, $40, $EB, $02, $33, $C0, $8B, $E5, $5D, $C3, $55, + $8B, $EC, $83, $EC, $24, $8B, $C1, $89, $55, $E8, $53, $57, $89, $45, $DC, $8B, + $D8, $33, $C0, $C7, $45, $EC, $10, $40, $00, $10, $6A, $1C, $89, $45, $F0, $8B, + $FA, $88, $45, $FF, $32, $C0, $59, $F3, $AA, $B5, $10, $8A, $0B, $43, $0F, $B6, + $C1, $88, $4D, $FE, $83, $F8, $66, $7F, $30, $74, $25, $83, $F8, $26, $74, $17, + $83, $F8, $2E, $74, $12, $83, $F8, $36, $74, $0D, $83, $F8, $3E, $74, $08, $83, + $C0, $9C, $83, $F8, $01, $77, $50, $80, $4D, $FF, $40, $88, $4A, $03, $EB, $42, + $80, $4D, $FF, $08, $88, $4A, $04, $EB, $39, $83, $E8, $67, $74, $2D, $2D, $89, + $00, $00, $00, $74, $1D, $48, $83, $E8, $01, $74, $0E, $83, $E8, $01, $75, $27, + $80, $4D, $FF, $04, $88, $4A, $01, $EB, $19, $80, $4D, $FF, $02, $88, $4A, $01, + $EB, $10, $80, $4D, $FF, $20, $88, $4A, $02, $EB, $07, $80, $4D, $FF, $10, $88, + $4A, $05, $80, $ED, $01, $75, $84, $8A, $6D, $FF, $0F, $B6, $C5, $C1, $E0, $17, + $89, $42, $18, $84, $ED, $75, $05, $FE, $C5, $88, $6D, $FF, $88, $4A, $06, $80, + $F9, $0F, $75, $12, $8A, $0B, $43, $88, $4D, $FE, $88, $4A, $07, $C7, $45, $EC, + $5A, $40, $00, $10, $EB, $18, $8A, $C1, $04, $60, $3C, $03, $77, $10, $F6, $C5, + $10, $74, $05, $80, $CD, $08, $EB, $03, $80, $E5, $F7, $88, $6D, $FF, $0F, $B6, + $F9, $56, $8B, $F7, $8B, $C7, $C1, $EE, $02, $25, $03, $00, $00, $80, $79, $05, + $48, $83, $C8, $FC, $40, $8B, $55, $EC, $89, $45, $E4, $8B, $45, $EC, $0F, $B6, + $04, $06, $03, $45, $E4, $8A, $04, $10, $8B, $55, $E8, $89, $45, $F4, $3C, $FF, + $75, $1F, $81, $4A, $18, $00, $30, $00, $00, $8B, $C7, $83, $E0, $FD, $C6, $45, + $F4, $00, $83, $F8, $24, $75, $07, $B0, $01, $89, $45, $F4, $EB, $03, $8B, $45, + $F4, $C6, $45, $E0, $00, $84, $C0, $79, $19, $8B, $55, $EC, $0F, $B6, $C0, $83, + $E0, $7F, $0F, $B7, $04, $10, $8B, $55, $E8, $89, $45, $F4, $C1, $E8, $08, $89, + $45, $E0, $8A, $42, $07, $84, $C0, $74, $1A, $0F, $B6, $86, $40, $41, $00, $10, + $8B, $75, $E4, $84, $AC, $30, $40, $41, $00, $10, $74, $07, $81, $4A, $18, $00, + $30, $00, $00, $8B, $45, $F4, $A8, $01, $0F, $84, $C2, $02, $00, $00, $83, $4A, + $18, $01, $8A, $03, $8A, $E0, $88, $42, $08, $C0, $EC, $06, $88, $65, $FB, $88, + $62, $09, $8A, $E0, $C0, $E8, $03, $80, $E4, $07, $24, $07, $88, $65, $FC, $88, + $62, $0B, $88, $45, $FD, $88, $42, $0A, $8B, $45, $E0, $84, $C0, $74, $16, $8A, + $4D, $FD, $0F, $B6, $C0, $D3, $E0, $8A, $4D, $FE, $84, $C0, $79, $07, $81, $4A, + $18, $00, $30, $00, $00, $8A, $62, $07, $84, $E4, $75, $43, $8A, $C1, $04, $27, + $3C, $06, $77, $3B, $80, $C1, $27, $80, $7D, $FB, $03, $75, $13, $0F, $B6, $45, + $FD, $0F, $B6, $C9, $8A, $84, $C8, $08, $41, $00, $10, $8A, $4D, $FC, $EB, $0C, + $0F, $B6, $C1, $8A, $4D, $FD, $8A, $80, $01, $41, $00, $10, $8A, $6D, $FF, $8A, + $62, $07, $D2, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $30, $00, $00, $BE, + $DB, $41, $00, $10, $F6, $C5, $20, $74, $5E, $80, $7D, $FB, $03, $75, $09, $81, + $4A, $18, $00, $90, $00, $00, $EB, $4F, $8A, $45, $FE, $8A, $C8, $84, $E4, $74, + $0E, $BE, $C9, $41, $00, $10, $C7, $45, $E0, $DB, $41, $00, $10, $EB, $11, $8A, + $C8, $C7, $45, $E0, $C9, $41, $00, $10, $BE, $B1, $41, $00, $10, $80, $E1, $FE, + $38, $0E, $74, $0A, $83, $C6, $02, $3B, $75, $E0, $75, $F4, $EB, $0D, $0F, $B6, + $46, $01, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $90, + $00, $00, $BE, $DB, $41, $00, $10, $8A, $4A, $07, $8B, $C7, $84, $C9, $74, $43, + $83, $E8, $20, $74, $22, $83, $E8, $01, $74, $0A, $83, $E8, $01, $74, $18, $83, + $E8, $01, $75, $3C, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, $0F, $84, $A6, + $00, $00, $00, $3C, $05, $EB, $11, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, + $0F, $87, $93, $00, $00, $00, $3C, $01, $0F, $85, $92, $00, $00, $00, $E9, $86, + $00, $00, $00, $2D, $8C, $00, $00, $00, $74, $79, $48, $83, $E8, $01, $74, $68, + $80, $7D, $FB, $03, $75, $39, $84, $C9, $74, $0C, $BE, $EA, $41, $00, $10, $BF, + $14, $42, $00, $10, $EB, $05, $BF, $EA, $41, $00, $10, $8A, $4D, $FE, $38, $0E, + $74, $09, $83, $C6, $03, $3B, $F7, $75, $F5, $EB, $58, $84, $6E, $01, $74, $53, + $0F, $B6, $46, $02, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $3C, $EB, $41, $84, + $C9, $74, $3D, $83, $EF, $50, $74, $14, $83, $EF, $75, $74, $2C, $83, $EF, $11, + $74, $0F, $83, $EF, $01, $74, $05, $83, $EF, $20, $75, $24, $F6, $C5, $09, $EB, + $03, $F6, $C5, $06, $75, $13, $EB, $18, $8A, $45, $FD, $3C, $01, $74, $0A, $3C, + $05, $EB, $04, $80, $7D, $FD, $05, $76, $07, $81, $4A, $18, $00, $10, $01, $00, + $8A, $4D, $FE, $8A, $43, $01, $83, $C3, $02, $80, $7D, $FD, $01, $88, $45, $FA, + $77, $14, $80, $F9, $F6, $75, $06, $80, $4D, $F4, $02, $EB, $09, $80, $F9, $F7, + $75, $04, $80, $4D, $F4, $10, $8A, $4D, $FB, $0F, $B6, $C1, $83, $E8, $00, $74, + $65, $83, $E8, $01, $74, $57, $83, $E8, $01, $8A, $45, $FC, $75, $0D, $C6, $45, + $F0, $02, $F6, $C5, $10, $75, $04, $C6, $45, $F0, $04, $80, $F9, $03, $74, $5C, + $3C, $04, $75, $58, $F6, $C5, $10, $75, $53, $8A, $4D, $FA, $83, $4A, $18, $02, + $8A, $C1, $C0, $E8, $06, $43, $88, $42, $0D, $8A, $C1, $C0, $E8, $03, $24, $07, + $88, $4A, $0C, $88, $42, $0E, $0F, $B6, $C1, $83, $E0, $07, $88, $42, $0F, $3C, + $05, $75, $29, $F6, $45, $FB, $01, $75, $23, $FE, $C8, $EB, $22, $8A, $45, $FC, + $C6, $45, $F0, $01, $EB, $B5, $8A, $45, $FC, $F6, $C5, $10, $74, $0A, $3C, $06, + $75, $A9, $C6, $45, $F0, $02, $EB, $A3, $3C, $05, $EB, $99, $8B, $45, $F0, $0F, + $B6, $F0, $4B, $8B, $C6, $83, $E8, $01, $74, $26, $83, $E8, $01, $74, $14, $48, + $83, $E8, $01, $75, $24, $81, $4A, $18, $80, $00, $00, $00, $8B, $03, $89, $42, + $14, $EB, $16, $83, $4A, $18, $40, $66, $8B, $03, $66, $89, $42, $14, $EB, $09, + $83, $4A, $18, $20, $8A, $03, $88, $42, $14, $8B, $45, $F4, $03, $DE, $EB, $0C, + $F6, $C5, $20, $74, $07, $81, $4A, $18, $00, $90, $00, $00, $5E, $A8, $10, $74, + $44, $A8, $40, $74, $1F, $F6, $C5, $08, $0F, $84, $84, $00, $00, $00, $81, $4A, + $18, $08, $01, $00, $00, $66, $8B, $03, $83, $C3, $02, $66, $89, $42, $10, $E9, + $91, $00, $00, $00, $F6, $C5, $08, $74, $10, $83, $4A, $18, $08, $66, $8B, $03, + $83, $C3, $02, $66, $89, $42, $10, $EB, $0C, $83, $4A, $18, $10, $8B, $03, $83, + $C3, $04, $89, $42, $10, $8B, $4D, $F4, $F6, $C1, $04, $74, $31, $8B, $42, $18, + $A8, $10, $74, $05, $83, $C8, $08, $EB, $09, $A8, $08, $74, $11, $0D, $00, $08, + $00, $00, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $14, $EB, $0D, $83, $C8, + $08, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $10, $83, $C3, $02, $F6, $C1, + $02, $74, $0A, $83, $4A, $18, $04, $8A, $03, $43, $88, $42, $10, $F6, $C1, $40, + $74, $11, $81, $4A, $18, $10, $01, $00, $00, $8B, $03, $83, $C3, $04, $89, $42, + $10, $EB, $12, $F6, $C1, $20, $74, $0D, $81, $4A, $18, $04, $01, $00, $00, $8A, + $03, $43, $88, $42, $10, $2B, $5D, $DC, $5F, $88, $1A, $80, $FB, $0F, $5B, $76, + $0A, $81, $4A, $18, $00, $50, $00, $00, $C6, $02, $0F, $0F, $B6, $02, $8B, $E5, + $5D, $C3, $3B, $0D, $04, $40, $00, $10, $F2, $75, $02, $F2, $C3, $F2, $E9, $28, + $00, $00, $00, $55, $8B, $EC, $6A, $00, $FF, $15, $38, $30, $00, $10, $FF, $75, + $08, $FF, $15, $3C, $30, $00, $10, $68, $09, $04, $00, $C0, $FF, $15, $4C, $30, + $00, $10, $50, $FF, $15, $34, $30, $00, $10, $5D, $C3, $55, $8B, $EC, $81, $EC, + $24, $03, $00, $00, $6A, $17, $E8, $EB, $00, $00, $00, $85, $C0, $74, $05, $6A, + $02, $59, $CD, $29, $A3, $20, $43, $00, $10, $89, $0D, $1C, $43, $00, $10, $89, + $15, $18, $43, $00, $10, $89, $1D, $14, $43, $00, $10, $89, $35, $10, $43, $00, + $10, $89, $3D, $0C, $43, $00, $10, $66, $8C, $15, $38, $43, $00, $10, $66, $8C, + $0D, $2C, $43, $00, $10, $66, $8C, $1D, $08, $43, $00, $10, $66, $8C, $05, $04, + $43, $00, $10, $66, $8C, $25, $00, $43, $00, $10, $66, $8C, $2D, $FC, $42, $00, + $10, $9C, $8F, $05, $30, $43, $00, $10, $8B, $45, $00, $A3, $24, $43, $00, $10, + $8B, $45, $04, $A3, $28, $43, $00, $10, $8D, $45, $08, $A3, $34, $43, $00, $10, + $8B, $85, $DC, $FC, $FF, $FF, $C7, $05, $70, $42, $00, $10, $01, $00, $01, $00, + $A1, $28, $43, $00, $10, $A3, $2C, $42, $00, $10, $C7, $05, $20, $42, $00, $10, + $09, $04, $00, $C0, $C7, $05, $24, $42, $00, $10, $01, $00, $00, $00, $C7, $05, + $30, $42, $00, $10, $01, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $C7, $80, + $34, $42, $00, $10, $02, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $8B, $0D, + $04, $40, $00, $10, $89, $4C, $05, $F8, $6A, $04, $58, $C1, $E0, $00, $8B, $0D, + $00, $40, $00, $10, $89, $4C, $05, $F8, $68, $C0, $30, $00, $10, $E8, $E1, $FE, + $FF, $FF, $8B, $E5, $5D, $C3, $FF, $25, $9C, $30, $00, $10, $C3, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, $46, $39, $00, $00, + $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, $88, $39, $00, $00, + $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, $CA, $39, $00, $00, + $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, $C8, $3B, $00, $00, + $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, $62, $3A, $00, $00, + $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, $B4, $3A, $00, $00, + $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, $06, $3B, $00, $00, + $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, $36, $3B, $00, $00, + $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, $8C, $3B, $00, $00, + $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, $16, $3C, $00, $00, + $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, $00, $00, $00, $00, + $0C, $2A, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $20, $42, $00, $10, $70, $42, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $96, $30, $07, $77, $2C, $61, $0E, $EE, $BA, $51, $09, $99, + $19, $C4, $6D, $07, $8F, $F4, $6A, $70, $35, $A5, $63, $E9, $A3, $95, $64, $9E, + $32, $88, $DB, $0E, $A4, $B8, $DC, $79, $1E, $E9, $D5, $E0, $88, $D9, $D2, $97, + $2B, $4C, $B6, $09, $BD, $7C, $B1, $7E, $07, $2D, $B8, $E7, $91, $1D, $BF, $90, + $64, $10, $B7, $1D, $F2, $20, $B0, $6A, $48, $71, $B9, $F3, $DE, $41, $BE, $84, + $7D, $D4, $DA, $1A, $EB, $E4, $DD, $6D, $51, $B5, $D4, $F4, $C7, $85, $D3, $83, + $56, $98, $6C, $13, $C0, $A8, $6B, $64, $7A, $F9, $62, $FD, $EC, $C9, $65, $8A, + $4F, $5C, $01, $14, $D9, $6C, $06, $63, $63, $3D, $0F, $FA, $F5, $0D, $08, $8D, + $C8, $20, $6E, $3B, $5E, $10, $69, $4C, $E4, $41, $60, $D5, $72, $71, $67, $A2, + $D1, $E4, $03, $3C, $47, $D4, $04, $4B, $FD, $85, $0D, $D2, $6B, $B5, $0A, $A5, + $FA, $A8, $B5, $35, $6C, $98, $B2, $42, $D6, $C9, $BB, $DB, $40, $F9, $BC, $AC, + $E3, $6C, $D8, $32, $75, $5C, $DF, $45, $CF, $0D, $D6, $DC, $59, $3D, $D1, $AB, + $AC, $30, $D9, $26, $3A, $00, $DE, $51, $80, $51, $D7, $C8, $16, $61, $D0, $BF, + $B5, $F4, $B4, $21, $23, $C4, $B3, $56, $99, $95, $BA, $CF, $0F, $A5, $BD, $B8, + $9E, $B8, $02, $28, $08, $88, $05, $5F, $B2, $D9, $0C, $C6, $24, $E9, $0B, $B1, + $87, $7C, $6F, $2F, $11, $4C, $68, $58, $AB, $1D, $61, $C1, $3D, $2D, $66, $B6, + $90, $41, $DC, $76, $06, $71, $DB, $01, $BC, $20, $D2, $98, $2A, $10, $D5, $EF, + $89, $85, $B1, $71, $1F, $B5, $B6, $06, $A5, $E4, $BF, $9F, $33, $D4, $B8, $E8, + $A2, $C9, $07, $78, $34, $F9, $00, $0F, $8E, $A8, $09, $96, $18, $98, $0E, $E1, + $BB, $0D, $6A, $7F, $2D, $3D, $6D, $08, $97, $6C, $64, $91, $01, $5C, $63, $E6, + $F4, $51, $6B, $6B, $62, $61, $6C, $1C, $D8, $30, $65, $85, $4E, $00, $62, $F2, + $ED, $95, $06, $6C, $7B, $A5, $01, $1B, $C1, $F4, $08, $82, $57, $C4, $0F, $F5, + $C6, $D9, $B0, $65, $50, $E9, $B7, $12, $EA, $B8, $BE, $8B, $7C, $88, $B9, $FC, + $DF, $1D, $DD, $62, $49, $2D, $DA, $15, $F3, $7C, $D3, $8C, $65, $4C, $D4, $FB, + $58, $61, $B2, $4D, $CE, $51, $B5, $3A, $74, $00, $BC, $A3, $E2, $30, $BB, $D4, + $41, $A5, $DF, $4A, $D7, $95, $D8, $3D, $6D, $C4, $D1, $A4, $FB, $F4, $D6, $D3, + $6A, $E9, $69, $43, $FC, $D9, $6E, $34, $46, $88, $67, $AD, $D0, $B8, $60, $DA, + $73, $2D, $04, $44, $E5, $1D, $03, $33, $5F, $4C, $0A, $AA, $C9, $7C, $0D, $DD, + $3C, $71, $05, $50, $AA, $41, $02, $27, $10, $10, $0B, $BE, $86, $20, $0C, $C9, + $25, $B5, $68, $57, $B3, $85, $6F, $20, $09, $D4, $66, $B9, $9F, $E4, $61, $CE, + $0E, $F9, $DE, $5E, $98, $C9, $D9, $29, $22, $98, $D0, $B0, $B4, $A8, $D7, $C7, + $17, $3D, $B3, $59, $81, $0D, $B4, $2E, $3B, $5C, $BD, $B7, $AD, $6C, $BA, $C0, + $20, $83, $B8, $ED, $B6, $B3, $BF, $9A, $0C, $E2, $B6, $03, $9A, $D2, $B1, $74, + $39, $47, $D5, $EA, $AF, $77, $D2, $9D, $15, $26, $DB, $04, $83, $16, $DC, $73, + $12, $0B, $63, $E3, $84, $3B, $64, $94, $3E, $6A, $6D, $0D, $A8, $5A, $6A, $7A, + $0B, $CF, $0E, $E4, $9D, $FF, $09, $93, $27, $AE, $00, $0A, $B1, $9E, $07, $7D, + $44, $93, $0F, $F0, $D2, $A3, $08, $87, $68, $F2, $01, $1E, $FE, $C2, $06, $69, + $5D, $57, $62, $F7, $CB, $67, $65, $80, $71, $36, $6C, $19, $E7, $06, $6B, $6E, + $76, $1B, $D4, $FE, $E0, $2B, $D3, $89, $5A, $7A, $DA, $10, $CC, $4A, $DD, $67, + $6F, $DF, $B9, $F9, $F9, $EF, $BE, $8E, $43, $BE, $B7, $17, $D5, $8E, $B0, $60, + $E8, $A3, $D6, $D6, $7E, $93, $D1, $A1, $C4, $C2, $D8, $38, $52, $F2, $DF, $4F, + $F1, $67, $BB, $D1, $67, $57, $BC, $A6, $DD, $06, $B5, $3F, $4B, $36, $B2, $48, + $DA, $2B, $0D, $D8, $4C, $1B, $0A, $AF, $F6, $4A, $03, $36, $60, $7A, $04, $41, + $C3, $EF, $60, $DF, $55, $DF, $67, $A8, $EF, $8E, $6E, $31, $79, $BE, $69, $46, + $8C, $B3, $61, $CB, $1A, $83, $66, $BC, $A0, $D2, $6F, $25, $36, $E2, $68, $52, + $95, $77, $0C, $CC, $03, $47, $0B, $BB, $B9, $16, $02, $22, $2F, $26, $05, $55, + $BE, $3B, $BA, $C5, $28, $0B, $BD, $B2, $92, $5A, $B4, $2B, $04, $6A, $B3, $5C, + $A7, $FF, $D7, $C2, $31, $CF, $D0, $B5, $8B, $9E, $D9, $2C, $1D, $AE, $DE, $5B, + $B0, $C2, $64, $9B, $26, $F2, $63, $EC, $9C, $A3, $6A, $75, $0A, $93, $6D, $02, + $A9, $06, $09, $9C, $3F, $36, $0E, $EB, $85, $67, $07, $72, $13, $57, $00, $05, + $82, $4A, $BF, $95, $14, $7A, $B8, $E2, $AE, $2B, $B1, $7B, $38, $1B, $B6, $0C, + $9B, $8E, $D2, $92, $0D, $BE, $D5, $E5, $B7, $EF, $DC, $7C, $21, $DF, $DB, $0B, + $D4, $D2, $D3, $86, $42, $E2, $D4, $F1, $F8, $B3, $DD, $68, $6E, $83, $DA, $1F, + $CD, $16, $BE, $81, $5B, $26, $B9, $F6, $E1, $77, $B0, $6F, $77, $47, $B7, $18, + $E6, $5A, $08, $88, $70, $6A, $0F, $FF, $CA, $3B, $06, $66, $5C, $0B, $01, $11, + $FF, $9E, $65, $8F, $69, $AE, $62, $F8, $D3, $FF, $6B, $61, $45, $CF, $6C, $16, + $78, $E2, $0A, $A0, $EE, $D2, $0D, $D7, $54, $83, $04, $4E, $C2, $B3, $03, $39, + $61, $26, $67, $A7, $F7, $16, $60, $D0, $4D, $47, $69, $49, $DB, $77, $6E, $3E, + $4A, $6A, $D1, $AE, $DC, $5A, $D6, $D9, $66, $0B, $DF, $40, $F0, $3B, $D8, $37, + $53, $AE, $BC, $A9, $C5, $9E, $BB, $DE, $7F, $CF, $B2, $47, $E9, $FF, $B5, $30, + $1C, $F2, $BD, $BD, $8A, $C2, $BA, $CA, $30, $93, $B3, $53, $A6, $A3, $B4, $24, + $05, $36, $D0, $BA, $93, $06, $D7, $CD, $29, $57, $DE, $54, $BF, $67, $D9, $23, + $2E, $7A, $66, $B3, $B8, $4A, $61, $C4, $02, $1B, $68, $5D, $94, $2B, $6F, $2A, + $37, $BE, $0B, $B4, $A1, $8E, $0C, $C3, $1B, $DF, $05, $5A, $8D, $EF, $02, $2D, + $73, $00, $61, $00, $6E, $00, $63, $00, $74, $00, $75, $00, $61, $00, $72, $00, + $79, $00, $6C, $00, $69, $00, $62, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $41, $64, $64, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, + $46, $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, + $52, $65, $6D, $6F, $76, $65, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, $46, + $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, $00, + $6B, $00, $65, $00, $72, $00, $6E, $00, $65, $00, $6C, $00, $33, $00, $32, $00, + $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00, $75, $00, $73, $00, + $65, $00, $72, $00, $33, $00, $32, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, $64, $64, $72, $65, + $73, $73, $00, $00, $4C, $64, $72, $47, $65, $74, $50, $72, $6F, $63, $65, $64, + $75, $72, $65, $41, $64, $64, $72, $65, $73, $73, $00, $00, $6E, $00, $74, $00, + $64, $00, $6C, $00, $6C, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, + $4C, $64, $72, $4C, $6F, $61, $64, $44, $6C, $6C, $00, $00, $77, $00, $69, $00, + $6E, $00, $74, $00, $72, $00, $75, $00, $73, $00, $74, $00, $2E, $00, $64, $00, + $6C, $00, $6C, $00, $00, $00, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $45, $78, $00, $00, $00, $00, $62, $00, $64, $00, + $73, $00, $2E, $00, $65, $00, $78, $00, $65, $00, $00, $00, $4C, $00, $69, $00, + $63, $00, $65, $00, $6E, $00, $73, $00, $65, $00, $4D, $00, $61, $00, $6E, $00, + $61, $00, $67, $00, $65, $00, $72, $00, $2E, $00, $65, $00, $78, $00, $65, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $0D, $00, $00, $00, + $0C, $01, $00, $00, $1C, $37, $00, $00, $1C, $27, $00, $00, $00, $00, $00, $00, + $5C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $40, $00, $10, + $00, $00, $00, $00, $00, $00, $00, $00, $B0, $30, $00, $10, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $EC, $36, $00, $00, + $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $D8, $36, $00, $00, + $E0, $36, $00, $00, $E8, $36, $00, $00, $B0, $10, $00, $00, $D0, $10, $00, $00, + $F9, $36, $00, $00, $0A, $37, $00, $00, $00, $00, $01, $00, $73, $68, $66, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F, + $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46, + $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $47, $43, $54, $4C, + $00, $10, $00, $00, $0D, $1A, $00, $00, $2E, $74, $65, $78, $74, $24, $6D, $6E, + $00, $00, $00, $00, $00, $30, $00, $00, $B0, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $35, $00, $00, $00, $00, $B0, $30, $00, $00, $04, $00, $00, $00, + $2E, $30, $30, $63, $66, $67, $00, $00, $C0, $30, $00, $00, $EC, $05, $00, $00, + $2E, $72, $64, $61, $74, $61, $00, $00, $B0, $36, $00, $00, $6B, $00, $00, $00, + $2E, $65, $64, $61, $74, $61, $00, $00, $1C, $37, $00, $00, $0C, $01, $00, $00, + $2E, $72, $64, $61, $74, $61, $24, $7A, $7A, $7A, $64, $62, $67, $00, $00, $00, + $28, $38, $00, $00, $28, $00, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $32, + $00, $00, $00, $00, $50, $38, $00, $00, $14, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $33, $00, $00, $00, $00, $64, $38, $00, $00, $B0, $00, $00, $00, + $2E, $69, $64, $61, $74, $61, $24, $34, $00, $00, $00, $00, $14, $39, $00, $00, + $1E, $03, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $36, $00, $00, $00, $00, + $00, $40, $00, $00, $14, $02, $00, $00, $2E, $64, $61, $74, $61, $00, $00, $00, + $20, $42, $00, $00, $6C, $03, $00, $00, $2E, $62, $73, $73, $00, $00, $00, $00, + $00, $50, $00, $00, $58, $00, $00, $00, $2E, $72, $73, $72, $63, $24, $30, $31, + $00, $00, $00, $00, $60, $50, $00, $00, $80, $01, $00, $00, $2E, $72, $73, $72, + $63, $24, $30, $32, $00, $00, $00, $00, $64, $38, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $F0, $39, $00, $00, $00, $30, $00, $00, $08, $39, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $26, $3A, $00, $00, $A4, $30, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, + $46, $39, $00, $00, $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, + $88, $39, $00, $00, $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, + $CA, $39, $00, $00, $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, + $C8, $3B, $00, $00, $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, + $62, $3A, $00, $00, $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, + $B4, $3A, $00, $00, $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, + $06, $3B, $00, $00, $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, + $36, $3B, $00, $00, $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, + $8C, $3B, $00, $00, $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, + $16, $3C, $00, $00, $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, + $00, $00, $00, $00, $8F, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, + $57, $00, $F0, $01, $47, $65, $74, $46, $69, $6C, $65, $53, $69, $7A, $65, $00, + $8C, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, $4D, $61, $70, $70, + $69, $6E, $67, $57, $00, $00, $57, $03, $4D, $61, $70, $56, $69, $65, $77, $4F, + $66, $46, $69, $6C, $65, $00, $D6, $04, $55, $6E, $6D, $61, $70, $56, $69, $65, + $77, $4F, $66, $46, $69, $6C, $65, $00, $52, $00, $43, $6C, $6F, $73, $65, $48, + $61, $6E, $64, $6C, $65, $00, $EF, $04, $56, $69, $72, $74, $75, $61, $6C, $50, + $72, $6F, $74, $65, $63, $74, $00, $00, $45, $05, $6C, $73, $74, $72, $63, $6D, + $70, $69, $57, $00, $A4, $02, $47, $65, $74, $56, $65, $72, $73, $69, $6F, $6E, + $45, $78, $57, $00, $18, $02, $47, $65, $74, $4D, $6F, $64, $75, $6C, $65, $48, + $61, $6E, $64, $6C, $65, $57, $00, $00, $45, $02, $47, $65, $74, $50, $72, $6F, + $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $3F, $03, $4C, $6F, $61, $64, + $4C, $69, $62, $72, $61, $72, $79, $57, $00, $00, $14, $02, $47, $65, $74, $4D, + $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $57, $00, $00, + $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $64, $6C, $6C, $00, $00, $BF, $00, + $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, + $00, $00, $C3, $00, $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, + $61, $74, $68, $57, $00, $00, $53, $48, $45, $4C, $4C, $33, $32, $2E, $64, $6C, + $6C, $00, $EC, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, $6B, $65, $64, $45, + $78, $63, $68, $61, $6E, $67, $65, $00, $CD, $02, $48, $65, $61, $70, $43, $72, + $65, $61, $74, $65, $00, $00, $CF, $02, $48, $65, $61, $70, $46, $72, $65, $65, + $00, $00, $C0, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, + $6F, $63, $65, $73, $73, $00, $E9, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, + $6B, $65, $64, $43, $6F, $6D, $70, $61, $72, $65, $45, $78, $63, $68, $61, $6E, + $67, $65, $00, $00, $C4, $04, $54, $68, $72, $65, $61, $64, $33, $32, $4E, $65, + $78, $74, $00, $00, $C3, $04, $54, $68, $72, $65, $61, $64, $33, $32, $46, $69, + $72, $73, $74, $00, $C5, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, + $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $BA, $04, $53, $75, $73, $70, + $65, $6E, $64, $54, $68, $72, $65, $61, $64, $00, $13, $04, $52, $65, $73, $75, + $6D, $65, $54, $68, $72, $65, $61, $64, $00, $00, $BE, $00, $43, $72, $65, $61, + $74, $65, $54, $6F, $6F, $6C, $68, $65, $6C, $70, $33, $32, $53, $6E, $61, $70, + $73, $68, $6F, $74, $00, $00, $B2, $04, $53, $6C, $65, $65, $70, $00, $D2, $02, + $48, $65, $61, $70, $52, $65, $41, $6C, $6C, $6F, $63, $00, $CB, $02, $48, $65, + $61, $70, $41, $6C, $6C, $6F, $63, $00, $CE, $02, $48, $65, $61, $70, $44, $65, + $73, $74, $72, $6F, $79, $00, $86, $02, $47, $65, $74, $54, $68, $72, $65, $61, + $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $C1, $01, $47, $65, $74, $43, + $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, $64, $00, + $58, $01, $46, $6C, $75, $73, $68, $49, $6E, $73, $74, $72, $75, $63, $74, $69, + $6F, $6E, $43, $61, $63, $68, $65, $00, $91, $04, $53, $65, $74, $54, $68, $72, + $65, $61, $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $85, $03, $4F, $70, + $65, $6E, $54, $68, $72, $65, $61, $64, $00, $00, $EC, $04, $56, $69, $72, $74, + $75, $61, $6C, $46, $72, $65, $65, $00, $E9, $04, $56, $69, $72, $74, $75, $61, + $6C, $41, $6C, $6C, $6F, $63, $00, $00, $F1, $04, $56, $69, $72, $74, $75, $61, + $6C, $51, $75, $65, $72, $79, $00, $00, $D3, $04, $55, $6E, $68, $61, $6E, $64, + $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, + $65, $72, $00, $00, $A5, $04, $53, $65, $74, $55, $6E, $68, $61, $6E, $64, $6C, + $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, $65, + $72, $00, $C0, $04, $54, $65, $72, $6D, $69, $6E, $61, $74, $65, $50, $72, $6F, + $63, $65, $73, $73, $00, $00, $04, $03, $49, $73, $50, $72, $6F, $63, $65, $73, + $73, $6F, $72, $46, $65, $61, $74, $75, $72, $65, $50, $72, $65, $73, $65, $6E, + $74, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $B1, $19, $BF, $44, $4E, $E6, $40, $BB, $00, $00, $00, $00, $00, $00, $00, $00, + $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, + $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AC, $AA, $B2, $AA, $9F, $9F, $9F, $9F, + $B5, $A3, $A3, $A4, $AA, $AA, $BA, $AA, $96, $AA, $A8, $AA, $C3, $C3, $96, $96, + $B7, $AE, $D6, $BD, $A3, $C5, $A3, $A3, $9F, $C3, $9C, $AA, $AA, $AC, $AA, $BF, + $03, $7F, $11, $7F, $01, $7F, $01, $3F, $01, $01, $90, $82, $7D, $97, $59, $59, + $59, $59, $59, $7F, $59, $59, $60, $7D, $7F, $7F, $59, $59, $59, $59, $59, $59, + $59, $59, $59, $59, $59, $59, $9A, $88, $7D, $59, $50, $50, $50, $50, $59, $59, + $59, $59, $61, $94, $61, $9E, $59, $59, $85, $59, $92, $A3, $60, $60, $59, $59, + $59, $59, $59, $59, $59, $59, $59, $59, $59, $9F, $01, $03, $01, $04, $03, $D5, + $03, $CC, $01, $BC, $03, $F0, $10, $10, $10, $10, $50, $50, $50, $50, $14, $20, + $20, $20, $20, $01, $01, $01, $01, $C4, $02, $10, $00, $00, $00, $00, $01, $01, + $C0, $C2, $10, $11, $02, $03, $11, $03, $03, $04, $00, $00, $14, $00, $02, $00, + $00, $C6, $C8, $02, $02, $02, $02, $00, $00, $FF, $FF, $FF, $FF, $00, $00, $00, + $FF, $CA, $01, $01, $01, $00, $06, $00, $04, $00, $C0, $C2, $01, $01, $03, $01, + $FF, $FF, $01, $00, $03, $C4, $C4, $C6, $03, $01, $01, $01, $FF, $03, $03, $03, + $C8, $40, $00, $0A, $00, $04, $00, $00, $00, $00, $7F, $00, $33, $01, $00, $00, + $00, $00, $00, $00, $FF, $BF, $FF, $FF, $00, $00, $00, $00, $07, $00, $00, $FF, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, + $00, $00, $00, $BF, $00, $00, $00, $00, $00, $00, $00, $00, $7F, $00, $00, $FF, + $4A, $4A, $4A, $4A, $4B, $52, $4A, $4A, $4A, $4A, $4F, $4C, $4A, $4A, $4A, $4A, + $4A, $4A, $4A, $4A, $55, $45, $40, $4A, $4A, $4A, $45, $59, $4D, $46, $4A, $5D, + $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $61, $63, + $67, $4E, $4A, $4A, $6B, $6D, $4A, $4A, $45, $6D, $4A, $4A, $44, $45, $4A, $4A, + $00, $00, $00, $02, $0D, $06, $06, $06, $06, $0E, $00, $00, $00, $00, $06, $06, + $06, $00, $06, $06, $02, $06, $00, $0A, $0A, $07, $07, $06, $02, $05, $05, $02, + $02, $00, $00, $04, $04, $04, $04, $00, $00, $00, $0E, $05, $06, $06, $06, $01, + $06, $00, $00, $08, $00, $10, $00, $18, $00, $20, $00, $28, $00, $30, $00, $80, + $01, $82, $01, $86, $00, $F6, $CF, $FE, $3F, $AB, $00, $B0, $00, $B1, $00, $B3, + $00, $BA, $F8, $BB, $00, $C0, $00, $C1, $00, $C7, $BF, $62, $FF, $00, $8D, $FF, + $00, $C4, $FF, $00, $C5, $FF, $00, $FF, $FF, $EB, $01, $FF, $0E, $12, $08, $00, + $13, $09, $00, $16, $08, $00, $17, $09, $00, $2B, $09, $00, $AE, $FF, $07, $B2, + $FF, $00, $B4, $FF, $00, $B5, $FF, $00, $C3, $01, $00, $C7, $FF, $BF, $E7, $08, + $00, $F0, $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $18, $00, $00, $00, $18, $00, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $01, $00, $02, $00, $00, $00, $30, $00, $00, $80, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $09, $04, $00, $00, $48, $00, $00, $00, $60, $50, $00, $00, $7D, $01, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $3C, $3F, $78, $6D, $6C, $20, $76, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, + $2E, $30, $27, $20, $65, $6E, $63, $6F, $64, $69, $6E, $67, $3D, $27, $55, $54, + $46, $2D, $38, $27, $20, $73, $74, $61, $6E, $64, $61, $6C, $6F, $6E, $65, $3D, + $27, $79, $65, $73, $27, $3F, $3E, $0D, $0A, $3C, $61, $73, $73, $65, $6D, $62, + $6C, $79, $20, $78, $6D, $6C, $6E, $73, $3D, $27, $75, $72, $6E, $3A, $73, $63, + $68, $65, $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, + $63, $6F, $6D, $3A, $61, $73, $6D, $2E, $76, $31, $27, $20, $6D, $61, $6E, $69, + $66, $65, $73, $74, $56, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, $2E, $30, + $27, $3E, $0D, $0A, $20, $20, $3C, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, + $20, $78, $6D, $6C, $6E, $73, $3D, $22, $75, $72, $6E, $3A, $73, $63, $68, $65, + $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, $63, $6F, + $6D, $3A, $61, $73, $6D, $2E, $76, $33, $22, $3E, $0D, $0A, $20, $20, $20, $20, + $3C, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, $20, $20, $20, $20, + $20, $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $50, $72, $69, $76, + $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, $20, $20, $20, $20, $20, $20, + $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $45, $78, $65, $63, $75, + $74, $69, $6F, $6E, $4C, $65, $76, $65, $6C, $20, $6C, $65, $76, $65, $6C, $3D, + $27, $61, $73, $49, $6E, $76, $6F, $6B, $65, $72, $27, $20, $75, $69, $41, $63, + $63, $65, $73, $73, $3D, $27, $66, $61, $6C, $73, $65, $27, $20, $2F, $3E, $0D, + $0A, $20, $20, $20, $20, $20, $20, $3C, $2F, $72, $65, $71, $75, $65, $73, $74, + $65, $64, $50, $72, $69, $76, $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, + $20, $20, $20, $3C, $2F, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, + $20, $20, $3C, $2F, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, $3E, $0D, $0A, + $3C, $2F, $61, $73, $73, $65, $6D, $62, $6C, $79, $3E, $0D, $0A, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $10, $00, $00, $54, $01, $00, $00, $18, $30, $34, $30, $4F, $30, $62, $30, + $86, $30, $94, $30, $9B, $30, $A3, $30, $C2, $30, $D2, $30, $08, $31, $77, $31, + $C5, $31, $CC, $31, $F2, $31, $05, $32, $1F, $32, $2B, $32, $3A, $32, $6A, $32, + $9C, $32, $20, $33, $2E, $33, $35, $33, $40, $33, $54, $33, $59, $33, $60, $33, + $65, $33, $6D, $33, $72, $33, $77, $33, $7D, $33, $82, $33, $89, $33, $95, $33, + $9B, $33, $AB, $33, $B8, $33, $FA, $34, $02, $35, $07, $35, $0C, $35, $29, $35, + $38, $35, $40, $35, $5A, $35, $67, $35, $75, $35, $7A, $35, $8F, $35, $95, $35, + $A2, $35, $A8, $35, $AD, $35, $B2, $35, $B8, $35, $BE, $35, $C3, $35, $F2, $35, + $13, $36, $32, $36, $3F, $36, $53, $36, $59, $36, $73, $36, $7E, $36, $8B, $36, + $A2, $36, $B0, $36, $C3, $36, $C9, $36, $E3, $36, $E9, $36, $FA, $36, $01, $37, + $07, $37, $36, $37, $3D, $37, $6F, $37, $79, $37, $9D, $37, $B0, $37, $D7, $37, + $DC, $37, $0D, $38, $36, $38, $3B, $38, $42, $38, $58, $38, $8C, $38, $9F, $38, + $C0, $38, $C4, $38, $C8, $38, $CC, $38, $D3, $38, $DF, $38, $F6, $38, $06, $39, + $0C, $39, $16, $39, $1E, $39, $2B, $39, $30, $39, $41, $39, $47, $39, $52, $39, + $5A, $39, $5F, $39, $65, $39, $71, $39, $80, $39, $A8, $39, $BC, $39, $E3, $39, + $59, $3A, $D9, $3A, $EC, $3A, $09, $3B, $1A, $3B, $25, $3B, $3C, $3B, $49, $3B, + $67, $3B, $6D, $3B, $96, $3B, $A5, $3B, $E9, $3B, $F6, $3B, $0B, $3C, $3B, $3C, + $48, $3C, $4F, $3C, $60, $3C, $66, $3C, $7F, $3C, $AA, $3C, $05, $3D, $0F, $3D, + $16, $3D, $46, $3D, $5F, $3D, $96, $3D, $A6, $3D, $C9, $3D, $FB, $3D, $05, $3E, + $0B, $3E, $18, $3E, $1E, $3E, $2B, $3E, $40, $3E, $49, $3E, $5D, $3E, $6A, $3E, + $71, $3E, $77, $3E, $7D, $3E, $83, $3E, $89, $3E, $8F, $3E, $95, $3E, $9B, $3E, + $B5, $3E, $D7, $3E, $00, $20, $00, $00, $78, $00, $00, $00, $1B, $30, $B3, $32, + $D6, $32, $04, $33, $0C, $33, $27, $33, $5E, $33, $6C, $33, $81, $33, $B6, $33, + $70, $34, $0C, $35, $16, $35, $97, $35, $A8, $35, $C0, $35, $E2, $35, $E9, $35, + $F4, $35, $F9, $35, $23, $36, $8B, $36, $90, $36, $97, $36, $D4, $38, $EA, $38, + $F3, $38, $FE, $38, $05, $39, $25, $39, $2B, $39, $31, $39, $37, $39, $3D, $39, + $43, $39, $4A, $39, $51, $39, $58, $39, $5F, $39, $66, $39, $6D, $39, $74, $39, + $7C, $39, $84, $39, $8C, $39, $98, $39, $A1, $39, $A6, $39, $AC, $39, $B6, $39, + $C0, $39, $D0, $39, $E0, $39, $F0, $39, $F9, $39, $08, $3A, $00, $30, $00, $00, + $14, $00, $00, $00, $B0, $30, $C0, $30, $C4, $30, $8C, $36, $98, $36, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + ); + + defHelperDatas: array[0..38439] of Byte = ( + $4D, $5A, $50, $00, $02, $00, $00, $00, $04, $00, $0F, $00, $FF, $FF, $00, $00, + $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $1A, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, + $BA, $10, $00, $0E, $1F, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $90, $90, + $54, $68, $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $6D, $75, $73, + $74, $20, $62, $65, $20, $72, $75, $6E, $20, $75, $6E, $64, $65, $72, $20, $57, + $69, $6E, $33, $32, $0D, $0A, $24, $37, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $50, $45, $00, $00, $4C, $01, $08, $00, $07, $54, $33, $5D, $00, $00, $00, $00, + $00, $00, $00, $00, $E0, $00, $8E, $A1, $0B, $01, $02, $19, $00, $46, $00, $00, + $00, $24, $00, $00, $00, $00, $00, $00, $D4, $60, $00, $00, $00, $10, $00, $00, + $00, $70, $00, $00, $00, $00, $40, $00, $00, $10, $00, $00, $00, $02, $00, $00, + $04, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, + $00, $F0, $00, $00, $00, $04, $00, $00, $8E, $F5, $00, $00, $02, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $00, $00, $10, $00, $00, + $00, $00, $00, $00, $10, $00, $00, $00, $00, $C0, $00, $00, $6B, $00, $00, $00, + $00, $B0, $00, $00, $12, $06, $00, $00, $00, $E0, $00, $00, $00, $06, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $6E, $00, $00, $28, $28, $00, $00, + $00, $D0, $00, $00, $38, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $74, $B1, $00, $00, $E8, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $2E, $74, $65, $78, $74, $00, $00, $00, + $48, $42, $00, $00, $00, $10, $00, $00, $00, $44, $00, $00, $00, $04, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $00, $00, $60, + $2E, $69, $74, $65, $78, $74, $00, $00, $EC, $00, $00, $00, $00, $60, $00, $00, + $00, $02, $00, $00, $00, $48, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $20, $00, $00, $60, $2E, $64, $61, $74, $61, $00, $00, $00, + $04, $0D, $00, $00, $00, $70, $00, $00, $00, $0E, $00, $00, $00, $4A, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0, + $2E, $62, $73, $73, $00, $00, $00, $00, $1C, $28, $00, $00, $00, $80, $00, $00, + $00, $00, $00, $00, $00, $58, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $C0, $2E, $69, $64, $61, $74, $61, $00, $00, + $12, $06, $00, $00, $00, $B0, $00, $00, $00, $08, $00, $00, $00, $58, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0, + $2E, $65, $64, $61, $74, $61, $00, $00, $6B, $00, $00, $00, $00, $C0, $00, $00, + $00, $02, $00, $00, $00, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $40, $2E, $72, $65, $6C, $6F, $63, $00, $00, + $38, $04, $00, $00, $00, $D0, $00, $00, $00, $06, $00, $00, $00, $62, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $42, + $2E, $72, $73, $72, $63, $00, $00, $00, $00, $06, $00, $00, $00, $E0, $00, $00, + $00, $06, $00, $00, $00, $68, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $6E, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $FF, $25, $CC, $B1, $40, $00, $8B, $C0, $FF, $25, $C8, $B1, $40, $00, $8B, $C0, + $FF, $25, $C4, $B1, $40, $00, $8B, $C0, $FF, $25, $C0, $B1, $40, $00, $8B, $C0, + $FF, $25, $BC, $B1, $40, $00, $8B, $C0, $FF, $25, $B8, $B1, $40, $00, $8B, $C0, + $FF, $25, $8C, $B1, $40, $00, $8B, $C0, $FF, $25, $B4, $B1, $40, $00, $8B, $C0, + $FF, $25, $B0, $B1, $40, $00, $8B, $C0, $FF, $25, $AC, $B1, $40, $00, $8B, $C0, + $FF, $25, $7C, $B1, $40, $00, $8B, $C0, $FF, $25, $78, $B1, $40, $00, $8B, $C0, + $FF, $25, $74, $B1, $40, $00, $8B, $C0, $FF, $25, $A8, $B1, $40, $00, $8B, $C0, + $FF, $25, $A4, $B1, $40, $00, $8B, $C0, $53, $83, $C4, $BC, $BB, $0A, $00, $00, + $00, $54, $E8, $C1, $FF, $FF, $FF, $F6, $44, $24, $2C, $01, $74, $05, $0F, $B7, + $5C, $24, $30, $8B, $C3, $83, $C4, $44, $5B, $C3, $8B, $C0, $FF, $25, $A0, $B1, + $40, $00, $8B, $C0, $FF, $25, $9C, $B1, $40, $00, $8B, $C0, $FF, $25, $98, $B1, + $40, $00, $8B, $C0, $FF, $25, $88, $B1, $40, $00, $8B, $C0, $FF, $FF, $FF, $FF, + $57, $00, $00, $00, $46, $61, $73, $74, $4D, $4D, $20, $42, $6F, $72, $6C, $61, + $6E, $64, $20, $45, $64, $69, $74, $69, $6F, $6E, $20, $A9, $20, $32, $30, $30, + $34, $2C, $20, $32, $30, $30, $35, $20, $50, $69, $65, $72, $72, $65, $20, $6C, + $65, $20, $52, $69, $63, $68, $65, $20, $2F, $20, $50, $72, $6F, $66, $65, $73, + $73, $69, $6F, $6E, $61, $6C, $20, $53, $6F, $66, $74, $77, $61, $72, $65, $20, + $44, $65, $76, $65, $6C, $6F, $70, $6D, $65, $6E, $74, $00, $F0, $0F, $B0, $11, + $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $8B, $40, $08, $89, $4A, + $04, $89, $42, $08, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89, + $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $8B, $40, $10, $89, $4A, + $0C, $89, $42, $10, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89, + $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $89, $4A, $0C, $8B, $48, + $10, $89, $4A, $10, $8B, $48, $14, $8B, $40, $18, $89, $4A, $14, $89, $42, $18, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $8B, + $48, $20, $89, $4A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $8B, $48, $28, $89, $4A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, + $10, $DF, $7A, $08, $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10, + $DF, $68, $18, $DF, $68, $20, $DF, $68, $28, $8B, $48, $30, $89, $4A, $30, $DF, + $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $DF, $68, $28, $DF, $68, $30, $8B, $48, $38, $89, $4A, $38, $DF, $7A, + $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, + $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $DF, $68, $28, $DF, $68, $30, $DF, $68, $38, $8B, $48, $40, $89, $4A, + $40, $DF, $7A, $38, $DF, $7A, $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18, + $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $C3, $8D, $40, $00, $83, $E9, $0C, $01, + $C8, $01, $CA, $F7, $D9, $79, $13, $DF, $2C, $01, $DF, $6C, $01, $08, $DF, $7C, + $11, $08, $DF, $3C, $11, $83, $C1, $10, $78, $ED, $DF, $2C, $01, $DF, $3C, $11, + $8B, $44, $01, $08, $89, $44, $11, $08, $C3, $8D, $40, $00, $83, $E9, $04, $01, + $C8, $01, $CA, $F7, $D9, $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $78, $F5, + $8B, $04, $01, $89, $04, $11, $C3, $90, $8B, $48, $04, $8B, $10, $39, $D1, $89, + $11, $89, $4A, $04, $74, $02, $C3, $90, $81, $E9, $90, $87, $40, $00, $89, $CA, + $C1, $E9, $03, $0F, $B6, $D6, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95, + $10, $87, $40, $00, $75, $E0, $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $C0, $21, + $05, $0C, $87, $40, $00, $C3, $8B, $C0, $81, $EA, $30, $0B, $00, $00, $C1, $EA, + $08, $81, $EA, $FF, $03, $00, $00, $19, $C9, $21, $CA, $81, $C2, $FF, $03, $00, + $00, $8D, $0C, $D5, $90, $87, $40, $00, $8B, $51, $04, $39, $CA, $89, $08, $89, + $50, $04, $89, $02, $89, $41, $04, $74, $03, $C3, $90, $90, $81, $E9, $90, $87, + $40, $00, $89, $CA, $C1, $E9, $03, $0F, $B6, $D6, $B8, $01, $00, $00, $00, $D3, + $E0, $09, $04, $95, $10, $87, $40, $00, $B8, $01, $00, $00, $00, $89, $D1, $D3, + $E0, $09, $05, $0C, $87, $40, $00, $C3, $83, $3D, $08, $87, $40, $00, $00, $75, + $03, $C3, $90, $90, $A1, $04, $87, $40, $00, $F6, $40, $FC, $01, $75, $25, $83, + $48, $FC, $08, $8B, $15, $08, $87, $40, $00, $29, $D0, $8D, $4A, $03, $89, $48, + $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $0F, $83, $67, $FF, $FF, + $FF, $C3, $90, $90, $BA, $F0, $FF, $FF, $FF, $23, $50, $FC, $81, $FA, $30, $0B, + $00, $00, $72, $12, $E8, $0F, $FF, $FF, $FF, $A1, $04, $87, $40, $00, $BA, $F0, + $FF, $FF, $FF, $23, $50, $FC, $8B, $0D, $08, $87, $40, $00, $29, $C8, $01, $CA, + $EB, $B9, $C3, $90, $53, $8B, $D8, $E8, $8C, $FF, $FF, $FF, $6A, $04, $68, $00, + $10, $00, $00, $68, $F0, $FF, $13, $00, $6A, $00, $E8, $CD, $FC, $FF, $FF, $85, + $C0, $74, $4D, $8B, $15, $F4, $86, $40, $00, $8B, $C8, $C7, $01, $F0, $86, $40, + $00, $A3, $F4, $86, $40, $00, $89, $51, $04, $89, $02, $8B, $D0, $81, $C2, $F0, + $FF, $13, $00, $8B, $CA, $83, $E9, $04, $C7, $01, $02, $00, $00, $00, $B9, $E0, + $FF, $13, $00, $2B, $CB, $89, $0D, $08, $87, $40, $00, $2B, $D3, $8B, $C2, $A3, + $04, $87, $40, $00, $83, $CB, $02, $8B, $D0, $83, $EA, $04, $89, $1A, $5B, $C3, + $33, $C0, $A3, $08, $87, $40, $00, $33, $C0, $5B, $C3, $90, $80, $3D, $35, $80, + $40, $00, $00, $74, $3D, $EB, $29, $80, $3D, $9D, $85, $40, $00, $00, $75, $20, + $6A, $00, $E8, $65, $FC, $FF, $FF, $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0, + $E8, $C7, $FC, $FF, $FF, $84, $C0, $74, $19, $6A, $0A, $E8, $4C, $FC, $FF, $FF, + $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $AE, $FC, $FF, $FF, $84, $C0, + $75, $C5, $C3, $90, $53, $56, $57, $55, $8B, $E8, $8D, $B5, $10, $00, $01, $00, + $4E, $83, $C6, $04, $81, $E6, $00, $00, $FF, $FF, $6A, $04, $68, $00, $10, $10, + $00, $56, $6A, $00, $E8, $03, $FC, $FF, $FF, $8B, $D8, $85, $DB, $74, $30, $8B, + $FB, $89, $6F, $08, $83, $CE, $04, $89, $77, $0C, $E8, $7D, $FF, $FF, $FF, $A1, + $98, $A7, $40, $00, $C7, $07, $94, $A7, $40, $00, $89, $1D, $98, $A7, $40, $00, + $89, $47, $04, $89, $18, $C6, $05, $90, $A7, $40, $00, $00, $83, $C3, $10, $8B, + $C3, $5D, $5F, $5E, $5B, $C3, $8B, $C0, $53, $56, $57, $55, $83, $C4, $DC, $8B, + $F0, $83, $EE, $10, $E8, $43, $FF, $FF, $FF, $8B, $C6, $8B, $10, $89, $14, $24, + $8B, $50, $04, $89, $54, $24, $04, $8B, $50, $0C, $F6, $C2, $08, $75, $1A, $68, + $00, $80, $00, $00, $6A, $00, $56, $E8, $98, $FB, $FF, $FF, $85, $C0, $74, $04, + $33, $FF, $EB, $3F, $83, $CF, $FF, $EB, $3A, $8B, $DE, $8B, $EA, $83, $E5, $F0, + $33, $FF, $6A, $1C, $8D, $44, $24, $0C, $50, $53, $E8, $39, $FB, $FF, $FF, $68, + $00, $80, $00, $00, $6A, $00, $53, $E8, $68, $FB, $FF, $FF, $85, $C0, $75, $05, + $83, $CF, $FF, $EB, $0E, $8B, $74, $24, $14, $3B, $EE, $76, $06, $2B, $EE, $01, + $F3, $EB, $CF, $85, $FF, $75, $13, $8B, $44, $24, $04, $8B, $14, $24, $89, $10, + $8B, $04, $24, $8B, $54, $24, $04, $89, $50, $04, $C6, $05, $90, $A7, $40, $00, + $00, $8B, $C7, $83, $C4, $24, $5D, $5F, $5E, $5B, $C3, $90, $53, $56, $57, $55, + $83, $C4, $E0, $8B, $F2, $8B, $F8, $8B, $C7, $83, $E8, $04, $8B, $00, $8B, $D8, + $83, $E3, $F0, $83, $EB, $14, $3B, $DE, $0F, $83, $E1, $00, $00, $00, $8B, $D3, + $C1, $EA, $02, $03, $D3, $3B, $D6, $76, $04, $8B, $EA, $EB, $02, $8B, $EE, $8B, + $D7, $83, $EA, $10, $83, $E0, $F0, $03, $D0, $89, $14, $24, $6A, $1C, $8D, $44, + $24, $08, $50, $8B, $44, $24, $08, $50, $E8, $9B, $FA, $FF, $FF, $81, $7C, $24, + $14, $00, $00, $01, $00, $75, $70, $81, $64, $24, $10, $00, $00, $FF, $FF, $8B, + $D6, $2B, $D3, $8B, $44, $24, $10, $3B, $D0, $73, $5C, $8B, $D5, $2B, $D3, $81, + $C2, $00, $00, $01, $00, $4A, $81, $E2, $00, $00, $FF, $FF, $8B, $DA, $3B, $C3, + $73, $02, $8B, $D8, $6A, $04, $68, $00, $20, $00, $00, $53, $8B, $44, $24, $0C, + $50, $E8, $86, $FA, $FF, $FF, $85, $C0, $74, $2D, $6A, $04, $68, $00, $10, $00, + $00, $53, $8B, $44, $24, $0C, $50, $E8, $70, $FA, $FF, $FF, $85, $C0, $74, $17, + $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D0, $03, $5A, $0C, $83, $CB, $08, + $89, $5A, $0C, $8B, $DF, $EB, $77, $8B, $C5, $E8, $7A, $00, $00, $00, $8B, $D8, + $85, $DB, $74, $6A, $81, $FD, $2C, $0A, $04, $00, $76, $08, $8B, $C3, $83, $E8, + $10, $89, $70, $08, $8B, $C7, $83, $E8, $10, $8B, $40, $08, $8B, $D3, $8B, $CF, + $91, $E8, $E6, $FB, $FF, $FF, $8B, $C7, $E8, $CF, $03, $00, $00, $EB, $3F, $D1, + $EB, $3B, $F3, $72, $0A, $8B, $DF, $83, $EF, $10, $89, $77, $08, $EB, $2F, $8B, + $C6, $E8, $32, $00, $00, $00, $8B, $D8, $85, $DB, $74, $22, $81, $FE, $2C, $0A, + $04, $00, $76, $08, $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D3, $8B, $C7, + $8B, $CE, $E8, $D5, $FB, $FF, $FF, $8B, $C7, $E8, $8E, $03, $00, $00, $8B, $C3, + $83, $C4, $20, $5D, $5F, $5E, $5B, $C3, $8D, $50, $03, $C1, $EA, $03, $3D, $2C, + $0A, $00, $00, $53, $8A, $0D, $35, $80, $40, $00, $0F, $87, $48, $02, $00, $00, + $84, $C9, $0F, $B6, $82, $A8, $85, $40, $00, $8D, $1C, $C5, $28, $70, $40, $00, + $75, $56, $8B, $53, $04, $8B, $42, $08, $B9, $F8, $FF, $FF, $FF, $39, $DA, $74, + $17, $83, $42, $0C, $01, $23, $48, $FC, $89, $4A, $08, $89, $50, $FC, $74, $28, + $C6, $03, $00, $5B, $C3, $90, $90, $90, $8B, $53, $10, $0F, $B7, $4B, $02, $01, + $C1, $3B, $43, $0C, $77, $76, $83, $42, $0C, $01, $89, $4B, $08, $C6, $03, $00, + $89, $50, $FC, $5B, $C3, $90, $90, $90, $8B, $4A, $04, $89, $59, $14, $89, $4B, + $04, $C6, $03, $00, $5B, $C3, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $23, $74, $9F, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74, + $91, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74, $83, $83, + $EB, $40, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $CB, $6A, $00, $E8, + $28, $F9, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $0F, $84, $5F, + $FF, $FF, $FF, $6A, $0A, $E8, $12, $F9, $FF, $FF, $EB, $AC, $56, $57, $80, $3D, + $35, $80, $40, $00, $00, $74, $39, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, + $00, $87, $40, $00, $74, $2A, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, + $E6, $6A, $00, $E8, $E4, $F8, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $25, $00, $87, $40, $00, $74, $09, $6A, $0A, $E8, $CE, $F8, $FF, $FF, $EB, $C7, + $0F, $BE, $73, $01, $23, $35, $0C, $87, $40, $00, $74, $70, $0F, $BC, $C6, $8D, + $34, $C5, $00, $00, $00, $00, $8B, $0C, $85, $10, $87, $40, $00, $0F, $BC, $C9, + $8D, $0C, $B1, $8D, $3C, $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $56, $04, + $89, $57, $04, $89, $3A, $39, $D7, $75, $17, $BA, $FE, $FF, $FF, $FF, $D3, $C2, + $21, $14, $85, $10, $87, $40, $00, $75, $07, $0F, $B3, $05, $0C, $87, $40, $00, + $BF, $F0, $FF, $FF, $FF, $23, $7E, $FC, $81, $FF, $60, $0A, $01, $00, $72, $6C, + $89, $FA, $0F, $B7, $7B, $1A, $29, $FA, $8D, $04, $37, $8D, $4A, $03, $89, $48, + $FC, $89, $54, $02, $F8, $E8, $8E, $FA, $FF, $FF, $EB, $55, $0F, $B7, $4B, $18, + $8B, $3D, $08, $87, $40, $00, $39, $CF, $72, $26, $8B, $35, $04, $87, $40, $00, + $0F, $B7, $4B, $1A, $8D, $91, $30, $0B, $00, $00, $39, $D7, $72, $02, $89, $CF, + $29, $FE, $29, $3D, $08, $87, $40, $00, $89, $35, $04, $87, $40, $00, $EB, $21, + $0F, $B7, $43, $1A, $89, $C7, $E8, $19, $FB, $FF, $FF, $89, $C6, $85, $C0, $75, + $10, $A2, $00, $87, $40, $00, $88, $03, $5F, $5E, $5B, $C3, $80, $64, $37, $FC, + $F7, $8D, $4F, $06, $89, $4E, $FC, $31, $C0, $A2, $00, $87, $40, $00, $89, $1E, + $89, $46, $08, $C7, $46, $0C, $01, $00, $00, $00, $89, $73, $10, $8D, $46, $20, + $0F, $B7, $4B, $02, $8D, $14, $01, $89, $53, $08, $01, $F7, $29, $CF, $89, $7B, + $0C, $C6, $03, $00, $89, $70, $FC, $5F, $5E, $5B, $C3, $90, $B8, $00, $01, $00, + $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $4B, $F3, $90, $80, $3D, $9D, + $85, $40, $00, $00, $75, $E6, $6A, $00, $E8, $9F, $F7, $FF, $FF, $B8, $00, $01, + $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $2A, $6A, $0A, $E8, $89, + $F7, $FF, $FF, $EB, $C7, $90, $90, $90, $3D, $2C, $0A, $04, $00, $0F, $87, $0D, + $01, $00, $00, $8D, $98, $D3, $00, $00, $00, $81, $E3, $00, $FF, $FF, $FF, $83, + $C3, $30, $84, $C9, $75, $A6, $8D, $93, $D0, $F4, $FF, $FF, $89, $D1, $C1, $EA, + $0D, $C1, $E9, $08, $B8, $FF, $FF, $FF, $FF, $D3, $E0, $23, $04, $95, $10, $87, + $40, $00, $74, $0C, $83, $E1, $E0, $0F, $BC, $C0, $09, $C1, $EB, $5E, $90, $90, + $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $E0, $23, $05, $0C, $87, $40, $00, $74, + $17, $0F, $BC, $D0, $8B, $04, $95, $10, $87, $40, $00, $0F, $BC, $C8, $89, $D0, + $C1, $E0, $05, $09, $C1, $EB, $35, $90, $8B, $0D, $08, $87, $40, $00, $29, $D9, + $72, $1A, $A1, $04, $87, $40, $00, $29, $D8, $A3, $04, $87, $40, $00, $89, $0D, + $08, $87, $40, $00, $83, $CB, $02, $89, $58, $FC, $EB, $07, $89, $D8, $E8, $F1, + $F9, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $5B, $C3, $56, $57, $8D, $3C, + $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $46, $04, $89, $47, $04, $89, $38, + $39, $C7, $75, $17, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95, $10, $87, + $40, $00, $75, $07, $0F, $B3, $15, $0C, $87, $40, $00, $BF, $F0, $FF, $FF, $FF, + $23, $7E, $FC, $89, $FA, $29, $DA, $74, $1F, $8D, $04, $33, $8D, $4A, $03, $89, + $48, $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $72, $0F, $E8, $C5, + $F8, $FF, $FF, $EB, $08, $90, $90, $90, $80, $64, $37, $FC, $F7, $8D, $4B, $02, + $89, $4E, $FC, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5F, $5E, $5B, $C3, + $5B, $85, $C0, $0F, $89, $2B, $FA, $FF, $FF, $31, $C0, $C3, $8B, $50, $FC, $F6, + $C2, $07, $89, $C1, $53, $8A, $1D, $35, $80, $40, $00, $0F, $85, $E3, $00, $00, + $00, $84, $DB, $8B, $1A, $75, $61, $83, $6A, $0C, $01, $8B, $42, $08, $74, $2C, + $85, $C0, $89, $4A, $08, $8D, $40, $01, $89, $41, $FC, $74, $07, $31, $C0, $88, + $03, $5B, $C3, $90, $8B, $4B, $04, $89, $5A, $14, $89, $4A, $04, $89, $51, $14, + $89, $53, $04, $C6, $03, $00, $31, $C0, $5B, $C3, $90, $90, $85, $C0, $74, $13, + $8B, $42, $14, $8B, $4A, $04, $89, $48, $04, $89, $41, $14, $31, $C0, $39, $53, + $10, $75, $03, $89, $43, $0C, $88, $03, $89, $D0, $8B, $52, $FC, $8A, $1D, $35, + $80, $40, $00, $E9, $85, $00, $00, $00, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $23, $74, $94, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $EA, $51, $52, + $6A, $00, $E8, $C5, $F5, $FF, $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $23, $0F, $84, $6F, $FF, $FF, $FF, $51, $52, $6A, $0A, $E8, $AB, $F5, $FF, + $FF, $5A, $59, $EB, $C3, $90, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $25, $00, $87, $40, $00, $74, $42, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, + $75, $E6, $6A, $00, $E8, $83, $F5, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $25, $00, $87, $40, $00, $74, $21, $6A, $0A, $E8, $6D, $F5, $FF, $FF, $EB, + $C7, $90, $90, $90, $F6, $C2, $05, $0F, $85, $E7, $00, $00, $00, $83, $E2, $F0, + $84, $DB, $89, $D3, $56, $89, $C6, $75, $AF, $F7, $44, $33, $FC, $01, $00, $00, + $00, $8B, $4C, $33, $FC, $75, $35, $83, $C9, $08, $89, $4C, $33, $FC, $F6, $46, + $FC, $08, $75, $40, $81, $FB, $E0, $FF, $13, $00, $74, $50, $8D, $43, $03, $89, + $46, $FC, $89, $5C, $33, $F8, $89, $F0, $89, $DA, $E8, $59, $F7, $FF, $FF, $C6, + $05, $00, $87, $40, $00, $00, $31, $C0, $5E, $5B, $C3, $90, $8D, $04, $33, $83, + $E1, $F0, $01, $CB, $81, $F9, $30, $0B, $00, $00, $72, $C2, $E8, $F7, $F6, $FF, + $FF, $EB, $BB, $90, $8B, $4E, $F8, $29, $CE, $01, $CB, $81, $F9, $30, $0B, $00, + $00, $72, $B1, $89, $F0, $E8, $DE, $F6, $FF, $FF, $EB, $A8, $81, $3D, $08, $87, + $40, $00, $E0, $FF, $13, $00, $75, $2C, $83, $EE, $10, $8B, $06, $8B, $56, $04, + $89, $50, $04, $89, $02, $C6, $05, $00, $87, $40, $00, $00, $68, $00, $80, $00, + $00, $6A, $00, $56, $E8, $AB, $F4, $FF, $FF, $83, $F8, $01, $19, $C0, $5E, $5B, + $C3, $90, $90, $90, $8D, $9E, $E0, $FF, $13, $00, $E8, $39, $F7, $FF, $FF, $C7, + $43, $FC, $02, $00, $00, $00, $C7, $05, $08, $87, $40, $00, $E0, $FF, $13, $00, + $89, $1D, $04, $87, $40, $00, $C6, $05, $00, $87, $40, $00, $00, $31, $C0, $5E, + $5B, $C3, $90, $90, $5B, $F6, $C2, $03, $0F, $84, $9A, $F8, $FF, $FF, $B8, $FF, + $FF, $FF, $FF, $C3, $8B, $48, $FC, $F6, $C1, $07, $53, $56, $89, $C6, $0F, $85, + $88, $00, $00, $00, $8B, $19, $0F, $B7, $4B, $02, $83, $E9, $04, $39, $D1, $72, + $37, $8D, $1C, $95, $40, $00, $00, $00, $39, $CB, $72, $04, $5E, $5B, $C3, $90, + $89, $D3, $89, $D0, $E8, $4F, $FA, $FF, $FF, $85, $C0, $74, $16, $89, $D9, $89, + $C2, $89, $C3, $89, $F0, $E8, $02, $F6, $FF, $FF, $89, $F0, $E8, $BB, $FD, $FF, + $FF, $89, $D8, $5E, $5B, $C3, $90, $90, $8D, $4C, $09, $20, $57, $89, $D7, $31, + $C0, $29, $D1, $83, $D0, $FF, $21, $C8, $01, $D0, $E8, $19, $FA, $FF, $FF, $85, + $C0, $74, $24, $81, $FF, $2C, $0A, $04, $00, $76, $03, $89, $78, $F8, $0F, $B7, + $4B, $02, $83, $E9, $04, $89, $C2, $89, $C7, $89, $F0, $FF, $53, $1C, $89, $F0, + $E8, $77, $FD, $FF, $FF, $89, $F8, $5F, $5E, $5B, $C3, $90, $F6, $C1, $05, $0F, + $85, $67, $02, $00, $00, $89, $CB, $83, $E1, $F0, $57, $8D, $3C, $01, $83, $E9, + $04, $83, $E3, $0F, $39, $CA, $55, $0F, $87, $0F, $01, $00, $00, $8D, $2C, $12, + $39, $CD, $72, $08, $5D, $5F, $5E, $5B, $C3, $90, $90, $90, $81, $FA, $2C, $0B, + $00, $00, $73, $15, $81, $FA, $CC, $02, $00, $00, $0F, $82, $C4, $00, $00, $00, + $BA, $2C, $0B, $00, $00, $39, $D1, $76, $DB, $8D, $AA, $D3, $00, $00, $00, $81, + $E5, $00, $FF, $FF, $FF, $83, $C5, $30, $83, $C1, $04, $29, $E9, $80, $3D, $35, + $80, $40, $00, $00, $74, $46, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00, + $87, $40, $00, $74, $2F, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $E6, + $51, $6A, $00, $E8, $44, $F3, $FF, $FF, $59, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $25, $00, $87, $40, $00, $74, $0C, $51, $6A, $0A, $E8, $2C, $F3, $FF, $FF, + $59, $EB, $C3, $90, $BB, $0F, $00, $00, $00, $23, $5E, $FC, $09, $EB, $89, $5E, + $FC, $89, $CB, $8B, $57, $FC, $F6, $C2, $01, $75, $09, $83, $CA, $08, $89, $57, + $FC, $EB, $17, $90, $89, $F8, $83, $E2, $F0, $01, $D3, $01, $D7, $81, $FA, $30, + $0B, $00, $00, $72, $05, $E8, $EE, $F4, $FF, $FF, $89, $5F, $F8, $8D, $43, $03, + $89, $44, $2E, $FC, $81, $FB, $30, $0B, $00, $00, $72, $0A, $8D, $04, $2E, $89, + $DA, $E8, $12, $F5, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5D, + $5F, $5E, $5B, $C3, $89, $D7, $89, $D0, $E8, $DB, $F8, $FF, $FF, $85, $C0, $74, + $16, $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $8E, $F4, $FF, $FF, $89, $F0, + $E8, $47, $FC, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $8B, $47, $FC, $A8, + $01, $0F, $84, $ED, $00, $00, $00, $83, $E0, $F0, $8D, $2C, $01, $39, $EA, $0F, + $87, $DF, $00, $00, $00, $80, $3D, $35, $80, $40, $00, $00, $74, $5B, $B8, $00, + $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $33, $F3, $90, $80, + $3D, $9D, $85, $40, $00, $00, $75, $E6, $51, $52, $6A, $00, $E8, $5B, $F2, $FF, + $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, + $74, $0E, $51, $52, $6A, $0A, $E8, $41, $F2, $FF, $FF, $5A, $59, $EB, $BF, $90, + $BB, $0F, $00, $00, $00, $23, $5E, $FC, $8B, $47, $FC, $A8, $01, $74, $7E, $83, + $E0, $F0, $8D, $2C, $01, $39, $EA, $77, $74, $3D, $30, $0B, $00, $00, $72, $0B, + $89, $F8, $51, $52, $E8, $0F, $F4, $FF, $FF, $5A, $59, $89, $C8, $C1, $E8, $02, + $01, $C8, $31, $FF, $29, $D0, $83, $D7, $FF, $21, $F8, $8D, $84, $02, $D3, $00, + $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30, $8D, $55, $04, $29, $C2, $77, + $0B, $83, $24, $2E, $F7, $83, $C5, $04, $EB, $1E, $90, $90, $89, $54, $2E, $FC, + $8D, $7A, $03, $89, $7C, $30, $FC, $89, $C5, $81, $FA, $30, $0B, $00, $00, $72, + $07, $01, $F0, $E8, $00, $F4, $FF, $FF, $09, $DD, $89, $6E, $FC, $C6, $05, $00, + $87, $40, $00, $00, $89, $F0, $5D, $5F, $5E, $5B, $C3, $90, $90, $C6, $05, $00, + $87, $40, $00, $00, $89, $C8, $C1, $E8, $02, $01, $C8, $31, $FF, $29, $D0, $83, + $D7, $FF, $21, $F8, $01, $D0, $89, $C5, $89, $CF, $52, $E8, $A8, $F7, $FF, $FF, + $5A, $85, $C0, $74, $D1, $81, $FD, $2C, $0A, $04, $00, $76, $03, $89, $50, $F8, + $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $1F, $F3, $FF, $FF, $89, $F0, $E8, + $08, $FB, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $90, $5E, $5B, $F6, $C1, + $03, $0F, $84, $25, $F6, $FF, $FF, $31, $C0, $C3, $8B, $C0, $53, $8D, $58, $FF, + $83, $E3, $FC, $E8, $60, $F7, $FF, $FF, $83, $F8, $01, $19, $C9, $8D, $14, $03, + $09, $CB, $81, $FB, $2C, $0A, $04, $00, $73, $10, $F7, $DB, $D9, $EE, $DD, $14, + $13, $83, $C3, $08, $78, $F8, $89, $0A, $DD, $C0, $5B, $C3, $8B, $C8, $8B, $D1, + $83, $EA, $04, $8B, $12, $83, $E2, $F0, $03, $D1, $8B, $C2, $8B, $D0, $83, $EA, + $04, $8B, $12, $83, $E2, $F0, $85, $D2, $75, $02, $33, $C0, $C3, $8D, $40, $00, + $83, $3D, $08, $87, $40, $00, $00, $74, $1A, $8B, $15, $04, $87, $40, $00, $3B, + $D0, $72, $10, $8B, $D0, $81, $C2, $F0, $FF, $13, $00, $3B, $15, $04, $87, $40, + $00, $73, $04, $83, $C0, $10, $C3, $81, $3D, $08, $87, $40, $00, $E0, $FF, $13, + $00, $74, $07, $A1, $04, $87, $40, $00, $EB, $02, $33, $C0, $C3, $8D, $40, $00, + $53, $56, $8B, $D8, $83, $C3, $20, $89, $1A, $8B, $10, $3B, $42, $10, $75, $08, + $8B, $5A, $08, $3B, $5A, $0C, $76, $19, $8B, $F0, $8B, $DE, $83, $EB, $04, $8B, + $1B, $83, $E3, $F0, $03, $DE, $0F, $B7, $42, $02, $2B, $D8, $89, $19, $5E, $5B, + $C3, $8B, $42, $08, $48, $89, $01, $5E, $5B, $C3, $8B, $C0, $57, $89, $D7, $83, + $C0, $01, $BA, $41, $5F, $70, $89, $F7, $E2, $C1, $E8, $1E, $89, $D1, $81, $E2, + $FF, $FF, $FF, $1F, $C1, $E9, $1D, $8D, $14, $92, $01, $C2, $89, $C8, $83, $C8, + $30, $88, $07, $89, $D0, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1C, $81, $E2, + $FF, $FF, $FF, $0F, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, + $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1B, $81, $E2, $FF, $FF, $FF, $07, + $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, + $83, $DF, $FF, $C1, $E8, $1A, $81, $E2, $FF, $FF, $FF, $03, $09, $C1, $83, $C8, + $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, + $E8, $19, $81, $E2, $FF, $FF, $FF, $01, $09, $C1, $83, $C8, $30, $88, $07, $8D, + $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $18, $81, $E2, + $FF, $FF, $FF, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, + $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $17, $81, $E2, $FF, $FF, $7F, $00, + $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, + $83, $DF, $FF, $C1, $E8, $16, $81, $E2, $FF, $FF, $3F, $00, $09, $C1, $83, $C8, + $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, + $E8, $15, $81, $E2, $FF, $FF, $1F, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D, + $04, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $14, $83, $C8, $30, $88, $07, + $8D, $47, $01, $5F, $C3, $8D, $40, $00, $53, $56, $8B, $F1, $8B, $DA, $8B, $D3, + $8B, $CE, $E8, $45, $0B, $00, $00, $8B, $C3, $03, $C6, $5E, $5B, $C3, $8B, $C0, + $55, $8B, $EC, $53, $8B, $D0, $81, $FA, $FF, $FF, $00, $00, $76, $68, $F6, $C2, + $03, $75, $63, $8B, $55, $08, $8B, $52, $E4, $8B, $C8, $3B, $D1, $77, $10, $8B, + $5D, $08, $8B, $5D, $08, $03, $53, $F0, $83, $C1, $04, $3B, $D1, $73, $17, $8B, + $55, $08, $33, $C9, $89, $4A, $F0, $6A, $1C, $8B, $55, $08, $83, $C2, $E4, $52, + $50, $E8, $C2, $EE, $FF, $FF, $8B, $45, $08, $83, $78, $F0, $04, $72, $1E, $8B, + $45, $08, $81, $78, $F4, $00, $10, $00, $00, $75, $12, $8B, $45, $08, $F6, $40, + $F8, $F6, $74, $09, $8B, $45, $08, $F6, $40, $F9, $01, $74, $04, $33, $C0, $EB, + $07, $B0, $01, $5B, $5D, $C3, $33, $C0, $5B, $5D, $C3, $90, $55, $8B, $EC, $53, + $56, $57, $8B, $FA, $8B, $D8, $81, $FF, $E8, $03, $00, $00, $7D, $65, $8B, $45, + $08, $50, $8B, $C3, $83, $C0, $B4, $E8, $64, $FF, $FF, $FF, $59, $84, $C0, $74, + $52, $8B, $45, $08, $50, $8B, $C3, $83, $C0, $DC, $E8, $51, $FF, $FF, $FF, $59, + $84, $C0, $74, $3F, $8B, $C3, $83, $C0, $DC, $8B, $30, $8B, $C3, $83, $C0, $B4, + $3B, $18, $75, $27, $85, $F6, $74, $27, $8B, $45, $08, $50, $8B, $C6, $E8, $2D, + $FF, $FF, $FF, $59, $84, $C0, $74, $13, $8B, $45, $08, $50, $8D, $57, $01, $8B, + $06, $E8, $96, $FF, $FF, $FF, $59, $84, $C0, $75, $04, $33, $C0, $EB, $06, $B0, + $01, $EB, $02, $33, $C0, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $83, + $C4, $E4, $53, $8B, $18, $33, $C0, $89, $45, $F0, $55, $33, $D2, $8B, $C3, $E8, + $68, $FF, $FF, $FF, $59, $84, $C0, $75, $02, $33, $DB, $8B, $C3, $5B, $8B, $E5, + $5D, $C3, $8B, $C0, $80, $3D, $35, $80, $40, $00, $00, $74, $3D, $EB, $29, $80, + $3D, $9D, $85, $40, $00, $00, $75, $20, $6A, $00, $E8, $0D, $EE, $FF, $FF, $B9, + $A8, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $6F, $EE, $FF, $FF, $84, $C0, $74, + $19, $6A, $0A, $E8, $F4, $ED, $FF, $FF, $B9, $A8, $A7, $40, $00, $B2, $01, $33, + $C0, $E8, $56, $EE, $FF, $FF, $84, $C0, $75, $C5, $83, $3D, $A4, $A7, $40, $00, + $00, $75, $18, $6A, $04, $68, $00, $10, $00, $00, $68, $00, $00, $01, $00, $6A, + $00, $E8, $B6, $ED, $FF, $FF, $A3, $A4, $A7, $40, $00, $83, $3D, $A4, $A7, $40, + $00, $00, $0F, $95, $C0, $C3, $8B, $C0, $53, $8B, $D8, $E8, $84, $FF, $FF, $FF, + $84, $C0, $74, $29, $A1, $A4, $A7, $40, $00, $81, $38, $FE, $3F, $00, $00, $7D, + $1C, $A1, $A4, $A7, $40, $00, $8B, $00, $8B, $15, $A4, $A7, $40, $00, $89, $5C, + $82, $04, $A1, $A4, $A7, $40, $00, $FF, $00, $B0, $01, $EB, $02, $33, $C0, $C6, + $05, $A8, $A7, $40, $00, $00, $5B, $C3, $53, $56, $57, $8B, $F0, $BF, $A4, $A7, + $40, $00, $33, $DB, $83, $3F, $00, $74, $3F, $E8, $36, $FF, $FF, $FF, $84, $C0, + $74, $36, $8B, $07, $8B, $10, $4A, $85, $D2, $7C, $26, $42, $33, $C0, $8B, $0F, + $3B, $74, $81, $04, $75, $17, $8B, $17, $8B, $12, $8B, $0F, $8B, $14, $91, $8B, + $0F, $89, $54, $81, $04, $8B, $17, $FF, $0A, $B3, $01, $EB, $04, $40, $4A, $75, + $DD, $C6, $05, $A8, $A7, $40, $00, $00, $8B, $C3, $5F, $5E, $5B, $C3, $8B, $C0, + $55, $8B, $EC, $83, $C4, $E0, $53, $56, $57, $89, $45, $FC, $8B, $45, $FC, $8B, + $00, $81, $E8, $28, $70, $40, $00, $C1, $E8, $05, $C1, $E0, $08, $8B, $55, $08, + $8D, $B4, $C2, $00, $48, $FE, $FF, $8D, $4D, $E4, $8D, $55, $E8, $8B, $45, $FC, + $E8, $2B, $FC, $FF, $FF, $E9, $FD, $00, $00, $00, $8B, $45, $E8, $83, $E8, $04, + $F6, $00, $01, $0F, $85, $E2, $00, $00, $00, $8B, $45, $E8, $E8, $57, $FF, $FF, + $FF, $84, $C0, $0F, $85, $D2, $00, $00, $00, $8B, $45, $08, $C6, $80, $FF, $47, + $FE, $FF, $00, $33, $DB, $8B, $45, $E8, $E8, $5F, $FE, $FF, $FF, $8B, $F8, $85, + $FF, $0F, $85, $88, $00, $00, $00, $8B, $45, $E8, $81, $38, $00, $01, $00, $00, + $0F, $83, $A1, $00, $00, $00, $8B, $45, $E8, $83, $C0, $04, $8B, $00, $89, $45, + $F4, $83, $7D, $F4, $00, $0F, $8E, $8C, $00, $00, $00, $8B, $45, $FC, $8B, $00, + $0F, $B7, $40, $02, $83, $E8, $0D, $3B, $45, $F4, $7C, $7B, $8B, $45, $E8, $83, + $C0, $08, $89, $45, $F0, $C6, $45, $EF, $01, $8B, $45, $F4, $85, $C0, $7E, $2A, + $89, $45, $E0, $80, $7D, $EF, $00, $74, $10, $8B, $45, $F0, $80, $38, $20, $72, + $08, $8B, $45, $F0, $80, $38, $80, $72, $04, $33, $C0, $EB, $02, $B0, $01, $88, + $45, $EF, $FF, $45, $F0, $FF, $4D, $E0, $75, $D9, $80, $7D, $EF, $00, $74, $37, + $8B, $45, $F0, $80, $38, $00, $75, $2F, $BB, $01, $00, $00, $00, $EB, $28, $BB, + $02, $00, $00, $00, $3B, $3C, $DE, $74, $0F, $83, $3C, $DE, $00, $74, $09, $43, + $81, $FB, $FF, $00, $00, $00, $7E, $EC, $81, $FB, $FF, $00, $00, $00, $7F, $05, + $89, $3C, $DE, $EB, $02, $33, $DB, $FF, $44, $DE, $04, $8B, $45, $FC, $8B, $00, + $0F, $B7, $40, $02, $01, $45, $E8, $8B, $45, $E8, $3B, $45, $E4, $0F, $86, $F7, + $FE, $FF, $FF, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0, $55, $8B, $EC, $50, + $B8, $27, $00, $00, $00, $81, $C4, $04, $F0, $FF, $FF, $50, $48, $75, $F6, $8B, + $45, $FC, $81, $C4, $DC, $F6, $FF, $FF, $53, $56, $57, $8D, $85, $00, $48, $FE, + $FF, $33, $C9, $BA, $00, $B8, $01, $00, $E8, $E7, $08, $00, $00, $8D, $85, $D8, + $07, $FE, $FF, $33, $C9, $BA, $00, $40, $00, $00, $E8, $D5, $08, $00, $00, $33, + $C0, $89, $85, $F8, $47, $FE, $FF, $C6, $85, $FF, $47, $FE, $FF, $01, $8B, $3D, + $F4, $86, $40, $00, $E9, $82, $00, $00, $00, $8B, $C7, $E8, $70, $FA, $FF, $FF, + $8B, $D8, $85, $DB, $74, $72, $8B, $C3, $83, $E8, $04, $8B, $30, $F7, $C6, $01, + $00, $00, $00, $75, $56, $F7, $C6, $04, $00, $00, $00, $74, $0B, $55, $8B, $C3, + $E8, $2B, $FE, $FF, $FF, $59, $EB, $43, $81, $BD, $F8, $47, $FE, $FF, $00, $10, + $00, $00, $7D, $37, $83, $E6, $F0, $83, $EE, $04, $89, $B5, $EC, $47, $FE, $FF, + $8B, $C3, $E8, $B1, $FD, $FF, $FF, $84, $C0, $75, $20, $C6, $85, $FF, $47, $FE, + $FF, $00, $8B, $85, $F8, $47, $FE, $FF, $8B, $95, $EC, $47, $FE, $FF, $89, $94, + $85, $D8, $07, $FE, $FF, $FF, $85, $F8, $47, $FE, $FF, $8B, $C3, $E8, $DA, $F9, + $FF, $FF, $8B, $D8, $85, $DB, $75, $8E, $8B, $7F, $04, $81, $FF, $F0, $86, $40, + $00, $0F, $85, $72, $FF, $FF, $FF, $8B, $1D, $98, $A7, $40, $00, $EB, $37, $8B, + $C3, $83, $C0, $10, $E8, $5F, $FD, $FF, $FF, $84, $C0, $75, $26, $C6, $85, $FF, + $47, $FE, $FF, $00, $8B, $73, $0C, $83, $E6, $F0, $83, $EE, $04, $83, $EE, $10, + $8B, $85, $F8, $47, $FE, $FF, $89, $B4, $85, $D8, $07, $FE, $FF, $FF, $85, $F8, + $47, $FE, $FF, $8B, $5B, $04, $81, $FB, $94, $A7, $40, $00, $74, $0C, $81, $BD, + $F8, $47, $FE, $FF, $00, $10, $00, $00, $7C, $B5, $80, $BD, $FF, $47, $FE, $FF, + $00, $0F, $85, $58, $02, $00, $00, $C6, $85, $F7, $47, $FE, $FF, $00, $33, $C0, + $89, $85, $E8, $47, $FE, $FF, $8D, $95, $D8, $87, $FD, $FF, $B8, $88, $28, $40, + $00, $B9, $28, $00, $00, $00, $E8, $FD, $FA, $FF, $FF, $8B, $D8, $C7, $85, $F0, + $47, $FE, $FF, $37, $00, $00, $00, $C7, $85, $DC, $47, $FE, $FF, $2A, $70, $40, + $00, $8D, $85, $FC, $4F, $FE, $FF, $89, $85, $D8, $47, $FE, $FF, $8B, $85, $DC, + $47, $FE, $FF, $0F, $B7, $00, $83, $E8, $04, $89, $85, $E4, $47, $FE, $FF, $C6, + $85, $F6, $47, $FE, $FF, $00, $BF, $FF, $00, $00, $00, $8B, $85, $D8, $47, $FE, + $FF, $8B, $F0, $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $0F, $87, $09, $01, $00, + $00, $83, $3E, $00, $0F, $86, $F3, $00, $00, $00, $80, $BD, $F7, $47, $FE, $FF, + $00, $75, $1A, $B8, $B4, $28, $40, $00, $B9, $27, $00, $00, $00, $8B, $D3, $E8, + $84, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F7, $47, $FE, $FF, $01, $80, $BD, $F6, + $47, $FE, $FF, $00, $75, $4F, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $8B, $85, + $E8, $47, $FE, $FF, $40, $8B, $D3, $E8, $40, $F9, $FF, $FF, $8B, $D8, $C6, $03, + $20, $43, $C6, $03, $2D, $43, $C6, $03, $20, $43, $8B, $D3, $8B, $85, $E4, $47, + $FE, $FF, $E8, $25, $F9, $FF, $FF, $8B, $D8, $B8, $DC, $28, $40, $00, $B9, $08, + $00, $00, $00, $8B, $D3, $E8, $2E, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F6, $47, + $FE, $FF, $01, $EB, $08, $C6, $03, $2C, $43, $C6, $03, $20, $43, $8B, $C7, $83, + $E8, $01, $72, $04, $74, $17, $EB, $2A, $B8, $E8, $28, $40, $00, $B9, $07, $00, + $00, $00, $8B, $D3, $E8, $FF, $F9, $FF, $FF, $8B, $D8, $EB, $39, $B8, $F0, $28, + $40, $00, $B9, $06, $00, $00, $00, $8B, $D3, $E8, $EA, $F9, $FF, $FF, $8B, $D8, + $EB, $24, $8D, $95, $D8, $86, $FD, $FF, $8B, $46, $FC, $E8, $38, $08, $00, $00, + $0F, $B6, $8D, $D8, $86, $FD, $FF, $8D, $85, $D9, $86, $FD, $FF, $8B, $D3, $E8, + $C4, $F9, $FF, $FF, $8B, $D8, $C6, $03, $20, $43, $C6, $03, $78, $43, $C6, $03, + $20, $43, $8B, $06, $8B, $D3, $E8, $91, $F8, $FF, $FF, $8B, $D8, $4F, $83, $EE, + $08, $83, $FF, $FF, $0F, $85, $E9, $FE, $FF, $FF, $8B, $85, $E4, $47, $FE, $FF, + $89, $85, $E8, $47, $FE, $FF, $81, $85, $D8, $47, $FE, $FF, $00, $08, $00, $00, + $83, $85, $DC, $47, $FE, $FF, $20, $FF, $8D, $F0, $47, $FE, $FF, $0F, $85, $9A, + $FE, $FF, $FF, $83, $BD, $F8, $47, $FE, $FF, $00, $7E, $7A, $80, $BD, $F7, $47, + $FE, $FF, $00, $74, $10, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $C6, $03, $0D, + $43, $C6, $03, $0A, $43, $B8, $F8, $28, $40, $00, $B9, $3C, $00, $00, $00, $8B, + $D3, $E8, $42, $F9, $FF, $FF, $8B, $D8, $8B, $BD, $F8, $47, $FE, $FF, $4F, $85, + $FF, $72, $43, $47, $C7, $85, $E0, $47, $FE, $FF, $00, $00, $00, $00, $8D, $B5, + $D8, $07, $FE, $FF, $83, $BD, $E0, $47, $FE, $FF, $00, $74, $08, $C6, $03, $2C, + $43, $C6, $03, $20, $43, $8B, $06, $8B, $D3, $E8, $EE, $F7, $FF, $FF, $8B, $D8, + $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $77, $0C, $FF, $85, $E0, $47, $FE, $FF, + $83, $C6, $04, $4F, $75, $CE, $B8, $38, $29, $40, $00, $B9, $03, $00, $00, $00, + $8B, $D3, $E8, $E1, $F8, $FF, $FF, $68, $10, $20, $00, $00, $68, $3C, $29, $40, + $00, $8D, $85, $D8, $87, $FD, $FF, $50, $6A, $00, $E8, $B1, $E7, $FF, $FF, $5F, + $5E, $5B, $8B, $E5, $5D, $C3, $00, $00, $41, $6E, $20, $75, $6E, $65, $78, $70, + $65, $63, $74, $65, $64, $20, $6D, $65, $6D, $6F, $72, $79, $20, $6C, $65, $61, + $6B, $20, $68, $61, $73, $20, $6F, $63, $63, $75, $72, $72, $65, $64, $2E, $20, + $00, $00, $00, $00, $54, $68, $65, $20, $75, $6E, $65, $78, $70, $65, $63, $74, + $65, $64, $20, $73, $6D, $61, $6C, $6C, $20, $62, $6C, $6F, $63, $6B, $20, $6C, + $65, $61, $6B, $73, $20, $61, $72, $65, $3A, $0D, $0A, $00, $20, $62, $79, $74, + $65, $73, $3A, $20, $00, $00, $00, $00, $55, $6E, $6B, $6E, $6F, $77, $6E, $00, + $53, $74, $72, $69, $6E, $67, $00, $00, $54, $68, $65, $20, $73, $69, $7A, $65, + $73, $20, $6F, $66, $20, $75, $6E, $65, $78, $70, $65, $63, $74, $65, $64, $20, + $6C, $65, $61, $6B, $65, $64, $20, $6D, $65, $64, $69, $75, $6D, $20, $61, $6E, + $64, $20, $6C, $61, $72, $67, $65, $20, $62, $6C, $6F, $63, $6B, $73, $20, $61, + $72, $65, $3A, $20, $00, $00, $00, $00, $0D, $0A, $00, $00, $55, $6E, $65, $78, + $70, $65, $63, $74, $65, $64, $20, $4D, $65, $6D, $6F, $72, $79, $20, $4C, $65, + $61, $6B, $00, $00, $56, $57, $33, $C0, $33, $F6, $BA, $2A, $70, $40, $00, $80, + $3D, $EE, $86, $40, $00, $00, $74, $05, $F6, $02, $0F, $75, $1D, $0F, $B7, $3A, + $C1, $EF, $03, $8B, $CE, $03, $C9, $03, $C9, $3B, $F8, $76, $0B, $88, $88, $A8, + $85, $40, $00, $40, $3B, $F8, $77, $F5, $8B, $C7, $46, $83, $C2, $20, $83, $FE, + $37, $75, $CC, $5F, $5E, $C3, $8B, $C0, $53, $56, $57, $BE, $37, $00, $00, $00, + $BB, $44, $70, $40, $00, $83, $3B, $00, $75, $06, $C7, $03, $5C, $12, $40, $00, + $8D, $43, $E4, $89, $43, $F8, $8D, $43, $E4, $89, $43, $E8, $33, $C0, $89, $43, + $F0, $C7, $43, $EC, $01, $00, $00, $00, $0F, $B7, $43, $E6, $03, $C0, $03, $C0, + $8D, $04, $40, $05, $EF, $00, $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30, + $3D, $30, $0B, $00, $00, $73, $05, $B8, $30, $0B, $00, $00, $05, $D0, $04, $00, + $00, $C1, $E8, $0D, $83, $F8, $07, $76, $05, $B8, $07, $00, $00, $00, $8B, $C8, + $B2, $FF, $D2, $E2, $88, $53, $E5, $C1, $E0, $0D, $66, $05, $30, $0B, $66, $89, + $43, $FC, $0F, $B7, $7B, $E6, $0F, $B7, $C7, $8B, $C8, $C1, $E1, $04, $8D, $0C, + $49, $81, $C1, $EF, $00, $00, $00, $81, $E1, $00, $FF, $FF, $FF, $83, $C1, $30, + $81, $F9, $30, $73, $00, $00, $73, $05, $B9, $30, $73, $00, $00, $81, $F9, $30, + $FF, $00, $00, $76, $05, $B9, $30, $FF, $00, $00, $8B, $C1, $83, $E8, $20, $0F, + $B7, $D7, $8B, $CA, $33, $D2, $F7, $F1, $66, $F7, $EF, $66, $05, $EF, $00, $66, + $25, $00, $FF, $66, $83, $C0, $30, $66, $89, $43, $FE, $83, $C3, $20, $4E, $0F, + $85, $30, $FF, $FF, $FF, $E8, $DA, $FE, $FF, $FF, $C7, $05, $F0, $86, $40, $00, + $F0, $86, $40, $00, $C7, $05, $F4, $86, $40, $00, $F0, $86, $40, $00, $BE, $00, + $04, $00, $00, $BA, $90, $87, $40, $00, $8B, $C2, $89, $00, $89, $40, $04, $83, + $C2, $08, $4E, $75, $F3, $C7, $05, $94, $A7, $40, $00, $94, $A7, $40, $00, $C7, + $05, $98, $A7, $40, $00, $94, $A7, $40, $00, $5F, $5E, $5B, $C3, $8D, $40, $00, + $53, $56, $57, $55, $BB, $F0, $86, $40, $00, $BE, $94, $A7, $40, $00, $8B, $7B, + $04, $EB, $12, $8B, $6F, $04, $68, $00, $80, $00, $00, $6A, $00, $57, $E8, $C1, + $E5, $FF, $FF, $8B, $FD, $3B, $FB, $75, $EA, $BA, $37, $00, $00, $00, $B8, $28, + $70, $40, $00, $8B, $C8, $89, $48, $14, $8B, $C8, $89, $48, $04, $C7, $40, $08, + $01, $00, $00, $00, $33, $C9, $89, $48, $0C, $83, $C0, $20, $4A, $75, $E4, $89, + $1B, $89, $5B, $04, $BA, $00, $04, $00, $00, $B9, $90, $87, $40, $00, $8B, $C1, + $89, $00, $89, $40, $04, $83, $C1, $08, $4A, $75, $F3, $8B, $5E, $04, $EB, $12, + $8B, $7B, $04, $68, $00, $80, $00, $00, $6A, $00, $53, $E8, $64, $E5, $FF, $FF, + $8B, $DF, $3B, $DE, $75, $EA, $89, $36, $89, $76, $04, $5D, $5F, $5E, $5B, $C3, + $83, $3D, $AC, $A7, $40, $00, $00, $74, $12, $A1, $AC, $A7, $40, $00, $50, $E8, + $50, $E5, $FF, $FF, $33, $C0, $A3, $AC, $A7, $40, $00, $80, $3D, $9C, $85, $40, + $00, $00, $74, $05, $E8, $63, $F9, $FF, $FF, $83, $3D, $A4, $A7, $40, $00, $00, + $74, $19, $68, $00, $80, $00, $00, $6A, $00, $A1, $A4, $A7, $40, $00, $50, $E8, + $10, $E5, $FF, $FF, $33, $C0, $A3, $A4, $A7, $40, $00, $E8, $20, $FF, $FF, $FF, + $C3, $8D, $40, $00, $85, $C0, $7E, $13, $FF, $15, $08, $77, $40, $00, $85, $C0, + $74, $02, $F3, $C3, $B0, $01, $E9, $C5, $00, $00, $00, $31, $C0, $F3, $C3, $90, + $85, $C0, $74, $0A, $FF, $15, $0C, $77, $40, $00, $85, $C0, $75, $02, $F3, $C3, + $B0, $02, $E9, $A9, $00, $00, $00, $C3, $8B, $08, $85, $C9, $74, $32, $85, $D2, + $74, $18, $50, $89, $C8, $FF, $15, $10, $77, $40, $00, $59, $09, $C0, $74, $19, + $89, $01, $C3, $B0, $02, $E9, $86, $00, $00, $00, $89, $10, $89, $C8, $FF, $15, + $0C, $77, $40, $00, $09, $C0, $75, $EB, $C3, $B0, $01, $E9, $70, $00, $00, $00, + $85, $D2, $74, $10, $50, $89, $D0, $FF, $15, $08, $77, $40, $00, $59, $09, $C0, + $74, $E7, $89, $01, $C3, $8D, $40, $00, $89, $15, $04, $70, $40, $00, $E8, $95, + $0C, $00, $00, $C3, $53, $56, $8B, $F2, $8B, $D8, $80, $E3, $7F, $83, $3D, $08, + $80, $40, $00, $00, $74, $0A, $8B, $D6, $8B, $C3, $FF, $15, $08, $80, $40, $00, + $84, $DB, $75, $0D, $E8, $33, $13, $00, $00, $8B, $98, $04, $00, $00, $00, $EB, + $0F, $80, $FB, $18, $77, $0A, $0F, $B6, $C3, $0F, $B6, $98, $20, $77, $40, $00, + $0F, $B6, $C3, $8B, $D6, $E8, $AE, $FF, $FF, $FF, $5E, $5B, $C3, $8D, $40, $00, + $83, $E0, $7F, $8B, $14, $24, $E9, $A9, $FF, $FF, $FF, $C3, $53, $8B, $D8, $E8, + $F8, $12, $00, $00, $89, $98, $04, $00, $00, $00, $5B, $C3, $39, $D0, $74, $31, + $83, $F9, $20, $77, $7C, $83, $E9, $08, $7F, $07, $FF, $24, $8D, $F4, $2C, $40, + $00, $DF, $2C, $01, $DF, $28, $83, $F9, $08, $7E, $11, $DF, $68, $08, $83, $F9, + $10, $7E, $06, $DF, $68, $10, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $DF, $3C, + $11, $C3, $90, $90, $D1, $2C, $40, $00, $52, $2D, $40, $00, $58, $2D, $40, $00, + $5F, $2D, $40, $00, $6C, $2D, $40, $00, $71, $2D, $40, $00, $7C, $2D, $40, $00, + $89, $2D, $40, $00, $94, $2D, $40, $00, $52, $DF, $28, $8D, $44, $01, $F8, $8D, + $4C, $0A, $F8, $DF, $28, $51, $F7, $D9, $83, $E2, $F8, $8D, $4C, $0A, $08, $5A, + $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $7C, $F5, $DF, $3A, $5A, $DF, $3A, + $C3, $7E, $2E, $39, $D0, $77, $D1, $29, $CA, $39, $D0, $8D, $14, $11, $76, $C8, + $83, $E9, $08, $51, $DF, $2C, $01, $DF, $28, $01, $D1, $83, $E1, $F8, $29, $D1, + $DF, $2C, $01, $DF, $3C, $11, $83, $E9, $08, $7F, $F5, $59, $DF, $3A, $DF, $3C, + $11, $C3, $0F, $B6, $08, $88, $0A, $C3, $0F, $B7, $08, $66, $89, $0A, $C3, $66, + $8B, $08, $8A, $40, $02, $66, $89, $0A, $88, $42, $02, $C3, $8B, $08, $89, $0A, + $C3, $8B, $08, $8A, $40, $04, $89, $0A, $88, $42, $04, $C3, $8B, $08, $66, $8B, + $40, $04, $89, $0A, $66, $89, $42, $04, $C3, $8B, $08, $8B, $40, $03, $89, $0A, + $89, $42, $03, $C3, $DF, $28, $DF, $3A, $C3, $8D, $40, $00, $53, $56, $8B, $D8, + $33, $F6, $0F, $B7, $43, $04, $66, $3D, $B1, $D7, $72, $2F, $66, $3D, $B3, $D7, + $77, $29, $66, $25, $B2, $D7, $66, $3D, $B2, $D7, $75, $07, $8B, $C3, $FF, $53, + $1C, $8B, $F0, $85, $F6, $75, $07, $8B, $C3, $FF, $53, $24, $8B, $F0, $85, $F6, + $74, $1B, $8B, $C6, $E8, $B3, $FE, $FF, $FF, $EB, $12, $81, $FB, $38, $80, $40, + $00, $74, $0A, $B8, $67, $00, $00, $00, $E8, $9F, $FE, $FF, $FF, $8B, $C6, $5E, + $5B, $C3, $8B, $C0, $83, $FA, $20, $88, $CD, $7C, $3D, $66, $89, $08, $66, $89, + $48, $02, $66, $89, $48, $04, $66, $89, $48, $06, $83, $EA, $10, $DD, $00, $DD, + $14, $02, $DD, $54, $02, $08, $89, $C1, $83, $E1, $07, $83, $E9, $08, $29, $C8, + $01, $CA, $01, $D0, $F7, $DA, $DD, $14, $02, $DD, $54, $02, $08, $83, $C2, $10, + $7C, $F4, $DD, $C0, $C3, $90, $90, $90, $85, $D2, $7E, $50, $88, $4C, $02, $FF, + $83, $E2, $FE, $F7, $DA, $8D, $14, $55, $8C, $2E, $40, $00, $FF, $E2, $90, $90, + $66, $89, $48, $1C, $66, $89, $48, $1A, $66, $89, $48, $18, $66, $89, $48, $16, + $66, $89, $48, $14, $66, $89, $48, $12, $66, $89, $48, $10, $66, $89, $48, $0E, + $66, $89, $48, $0C, $66, $89, $48, $0A, $66, $89, $48, $08, $66, $89, $48, $06, + $66, $89, $48, $04, $66, $89, $48, $02, $66, $89, $08, $C3, $C3, $8D, $40, $00, + $FF, $25, $84, $B1, $40, $00, $8B, $C0, $53, $33, $DB, $6A, $00, $E8, $EE, $FF, + $FF, $FF, $83, $F8, $07, $75, $1C, $6A, $01, $E8, $E2, $FF, $FF, $FF, $25, $00, + $FF, $00, $00, $3D, $00, $0D, $00, $00, $74, $07, $3D, $00, $04, $00, $00, $75, + $02, $B3, $01, $8B, $C3, $5B, $C3, $90, $55, $8B, $EC, $83, $C4, $F4, $0F, $B7, + $05, $0C, $70, $40, $00, $89, $45, $F8, $8D, $45, $FC, $50, $6A, $01, $6A, $00, + $68, $60, $2F, $40, $00, $68, $02, $00, $00, $80, $E8, $69, $E1, $FF, $FF, $85, + $C0, $75, $4D, $33, $C0, $55, $68, $39, $2F, $40, $00, $64, $FF, $30, $64, $89, + $20, $C7, $45, $F4, $04, $00, $00, $00, $8D, $45, $F4, $50, $8D, $45, $F8, $50, + $6A, $00, $6A, $00, $68, $7C, $2F, $40, $00, $8B, $45, $FC, $50, $E8, $3E, $E1, + $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $40, $2F, $40, $00, $8B, + $45, $FC, $50, $E8, $18, $E1, $FF, $FF, $C3, $E9, $F6, $02, $00, $00, $EB, $EF, + $0F, $B7, $05, $0C, $70, $40, $00, $66, $25, $C0, $FF, $0F, $B7, $55, $F8, $66, + $83, $E2, $3F, $66, $0B, $C2, $66, $A3, $0C, $70, $40, $00, $8B, $E5, $5D, $C3, + $53, $4F, $46, $54, $57, $41, $52, $45, $5C, $42, $6F, $72, $6C, $61, $6E, $64, + $5C, $44, $65, $6C, $70, $68, $69, $5C, $52, $54, $4C, $00, $46, $50, $55, $4D, + $61, $73, $6B, $56, $61, $6C, $75, $65, $00, $00, $00, $00, $DB, $E3, $9B, $D9, + $2D, $0C, $70, $40, $00, $C3, $8B, $C0, $B0, $05, $E9, $E1, $FC, $FF, $FF, $C3, + $8B, $00, $89, $C2, $8B, $C2, $C3, $90, $56, $57, $89, $D7, $8B, $70, $D4, $31, + $C9, $8A, $0E, $41, $F3, $A4, $5F, $5E, $C3, $8D, $40, $00, $85, $C0, $74, $07, + $B2, $01, $8B, $08, $FF, $51, $FC, $C3, $53, $56, $57, $31, $C9, $31, $FF, $8A, + $1A, $EB, $02, $8B, $00, $8B, $70, $CC, $85, $F6, $74, $15, $66, $8B, $3E, $83, + $C6, $02, $8A, $4E, $06, $38, $D9, $74, $15, $66, $8B, $0E, $01, $CE, $4F, $75, + $F1, $8B, $40, $DC, $85, $C0, $75, $DB, $EB, $18, $8A, $1A, $EB, $EB, $B5, $00, + $8A, $5C, $31, $06, $32, $1C, $11, $80, $E3, $DF, $75, $EE, $49, $75, $F1, $8B, + $46, $02, $5F, $5E, $5B, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76, + $11, $6A, $00, $6A, $00, $6A, $00, $68, $DF, $FA, $ED, $0E, $FF, $15, $10, $80, + $40, $00, $C3, $90, $80, $3D, $10, $70, $40, $00, $00, $74, $17, $50, $50, $52, + $54, $6A, $02, $6A, $00, $68, $E4, $FA, $ED, $0E, $FF, $15, $10, $80, $40, $00, + $83, $C4, $08, $58, $C3, $8D, $40, $00, $54, $6A, $01, $6A, $00, $68, $E0, $FA, + $ED, $0E, $FF, $15, $10, $80, $40, $00, $83, $C4, $04, $58, $C3, $8D, $40, $00, + $80, $3D, $10, $70, $40, $00, $01, $76, $07, $50, $53, $E9, $D8, $FF, $FF, $FF, + $C3, $8D, $40, $00, $85, $C9, $74, $19, $8B, $41, $01, $80, $39, $E9, $74, $0C, + $80, $39, $EB, $75, $0C, $0F, $BE, $C0, $41, $41, $EB, $03, $83, $C1, $05, $01, + $C1, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76, $1D, $50, $52, $51, + $E8, $CF, $FF, $FF, $FF, $51, $54, $6A, $01, $6A, $00, $68, $E1, $FA, $ED, $0E, + $FF, $15, $10, $80, $40, $00, $59, $59, $5A, $58, $C3, $90, $80, $3D, $10, $70, + $40, $00, $01, $76, $12, $52, $54, $6A, $01, $6A, $00, $68, $E2, $FA, $ED, $0E, + $FF, $15, $10, $80, $40, $00, $5A, $C3, $50, $52, $80, $3D, $10, $70, $40, $00, + $01, $76, $10, $54, $6A, $02, $6A, $00, $68, $E3, $FA, $ED, $0E, $FF, $15, $10, + $80, $40, $00, $5A, $58, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06, + $00, $00, $00, $0F, $85, $13, $01, $00, $00, $81, $38, $DE, $FA, $ED, $0E, $8B, + $50, $18, $8B, $48, $14, $74, $6E, $FC, $E8, $5F, $FE, $FF, $FF, $8B, $15, $0C, + $80, $40, $00, $85, $D2, $0F, $84, $F1, $00, $00, $00, $FF, $D2, $85, $C0, $0F, + $84, $E7, $00, $00, $00, $8B, $54, $24, $0C, $8B, $4C, $24, $04, $81, $39, $CE, + $FA, $EF, $0E, $74, $37, $E8, $DA, $FE, $FF, $FF, $80, $3D, $14, $70, $40, $00, + $00, $76, $29, $80, $3D, $10, $70, $40, $00, $00, $77, $20, $8D, $4C, $24, $04, + $50, $51, $E8, $A1, $DE, $FF, $FF, $83, $F8, $00, $58, $0F, $84, $AB, $00, $00, + $00, $89, $C2, $8B, $44, $24, $04, $8B, $48, $0C, $EB, $30, $89, $C2, $8B, $44, + $24, $04, $8B, $48, $0C, $80, $3D, $14, $70, $40, $00, $01, $76, $1E, $80, $3D, + $10, $70, $40, $00, $00, $77, $15, $50, $8D, $44, $24, $08, $52, $51, $50, $E8, + $64, $DE, $FF, $FF, $83, $F8, $00, $59, $5A, $58, $74, $70, $83, $48, $04, $02, + $53, $31, $DB, $56, $57, $55, $64, $8B, $1B, $53, $50, $52, $51, $8B, $54, $24, + $28, $6A, $00, $50, $68, $E0, $31, $40, $00, $52, $FF, $15, $14, $80, $40, $00, + $8B, $7C, $24, $28, $E8, $A3, $0D, $00, $00, $FF, $B0, $00, $00, $00, $00, $89, + $A0, $00, $00, $00, $00, $8B, $6F, $08, $8B, $5F, $04, $C7, $47, $04, $0C, $32, + $40, $00, $83, $C3, $05, $E8, $66, $FE, $FF, $FF, $FF, $E3, $E9, $CB, $00, $00, + $00, $E8, $76, $0D, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90, + $00, $00, $00, $00, $8B, $41, $08, $E9, $90, $FD, $FF, $FF, $B8, $01, $00, $00, + $00, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F, + $84, $8F, $00, $00, $00, $53, $31, $DB, $56, $57, $55, $55, $68, $B4, $32, $40, + $00, $64, $FF, $33, $64, $89, $23, $64, $8B, $1B, $8B, $50, $18, $8B, $48, $14, + $53, $50, $52, $51, $8B, $7C, $24, $34, $E8, $1F, $0D, $00, $00, $FF, $B0, $00, + $00, $00, $00, $89, $A0, $00, $00, $00, $00, $8B, $4F, $04, $8B, $6F, $08, $C7, + $47, $04, $B4, $32, $40, $00, $83, $C1, $05, $E8, $16, $FE, $FF, $FF, $FF, $D1, + $E8, $F7, $0C, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90, $00, + $00, $00, $00, $83, $C4, $14, $31, $C0, $5A, $59, $59, $64, $89, $10, $5D, $5F, + $5E, $5B, $EB, $20, $E9, $23, $00, $00, $00, $E8, $CE, $0C, $00, $00, $8B, $88, + $00, $00, $00, $00, $8B, $11, $89, $90, $00, $00, $00, $00, $8B, $41, $08, $E9, + $E8, $FC, $FF, $FF, $B8, $01, $00, $00, $00, $C3, $8B, $C0, $8B, $44, $24, $04, + $8B, $54, $24, $08, $F7, $40, $04, $06, $00, $00, $00, $74, $1F, $8B, $4A, $04, + $C7, $42, $04, $0C, $33, $40, $00, $53, $56, $57, $55, $8B, $6A, $08, $83, $C1, + $05, $E8, $9E, $FD, $FF, $FF, $FF, $D1, $5D, $5F, $5E, $5B, $B8, $01, $00, $00, + $00, $C3, $8B, $C0, $8B, $44, $24, $30, $C7, $40, $04, $5F, $33, $40, $00, $E8, + $68, $0C, $00, $00, $8B, $90, $00, $00, $00, $00, $8B, $0A, $89, $88, $00, $00, + $00, $00, $8B, $42, $0C, $83, $60, $04, $FD, $81, $38, $DE, $FA, $ED, $0E, $74, + $0D, $8B, $42, $08, $E8, $73, $FC, $FF, $FF, $E8, $CA, $FC, $FF, $FF, $31, $C0, + $83, $C4, $14, $64, $8B, $10, $59, $8B, $12, $89, $11, $5D, $5F, $5E, $5B, $B8, + $01, $00, $00, $00, $C3, $8D, $40, $00, $E8, $1F, $0C, $00, $00, $8B, $90, $00, + $00, $00, $00, $8B, $0A, $89, $88, $00, $00, $00, $00, $8B, $42, $08, $E8, $39, + $FC, $FF, $FF, $5A, $8B, $64, $24, $2C, $31, $C0, $59, $64, $89, $08, $58, $5D, + $E8, $37, $FD, $FF, $FF, $FF, $E2, $C3, $31, $D2, $8B, $4C, $24, $08, $8B, $44, + $24, $04, $83, $C1, $05, $64, $89, $02, $FF, $D1, $C2, $0C, $00, $C3, $8B, $C0, + $55, $8B, $EC, $8B, $55, $08, $8B, $02, $3D, $92, $00, $00, $C0, $7F, $2C, $74, + $5C, $3D, $8E, $00, $00, $C0, $7F, $15, $74, $57, $2D, $05, $00, $00, $C0, $74, + $5C, $2D, $87, $00, $00, $00, $74, $3D, $48, $74, $4E, $EB, $60, $05, $71, $FF, + $FF, $3F, $83, $E8, $02, $72, $36, $74, $30, $EB, $52, $3D, $96, $00, $00, $C0, + $7F, $11, $74, $3D, $2D, $93, $00, $00, $C0, $74, $2E, $48, $74, $13, $48, $74, + $24, $EB, $3A, $2D, $FD, $00, $00, $C0, $74, $2F, $83, $E8, $3D, $74, $26, $EB, + $2C, $B0, $C8, $EB, $2A, $B0, $C9, $EB, $26, $B0, $CD, $EB, $22, $B0, $CF, $EB, + $1E, $B0, $C8, $EB, $1A, $B0, $D7, $EB, $16, $B0, $CE, $EB, $12, $B0, $D8, $EB, + $0E, $B0, $DA, $EB, $0A, $B0, $D9, $EB, $06, $B0, $CA, $EB, $02, $B0, $FF, $0F, + $B6, $C0, $8B, $52, $0C, $E8, $DE, $F7, $FF, $FF, $5D, $C2, $04, $00, $8B, $C0, + $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F, $85, $89, $00, $00, + $00, $80, $3D, $10, $70, $40, $00, $00, $77, $0F, $8D, $44, $24, $04, $50, $E8, + $A4, $DB, $FF, $FF, $83, $F8, $00, $74, $71, $8B, $44, $24, $04, $FC, $E8, $09, + $FB, $FF, $FF, $8B, $54, $24, $08, $6A, $00, $50, $68, $96, $34, $40, $00, $52, + $FF, $15, $14, $80, $40, $00, $8B, $5C, $24, $04, $81, $3B, $DE, $FA, $ED, $0E, + $8B, $53, $14, $8B, $43, $18, $74, $1D, $8B, $15, $0C, $80, $40, $00, $85, $D2, + $0F, $84, $FA, $FE, $FF, $FF, $89, $D8, $FF, $D2, $85, $C0, $0F, $84, $EE, $FE, + $FF, $FF, $8B, $53, $0C, $E8, $1E, $FC, $FF, $FF, $8B, $0D, $04, $80, $40, $00, + $85, $C9, $74, $02, $FF, $D1, $8B, $4C, $24, $04, $B8, $D9, $00, $00, $00, $8B, + $51, $14, $89, $14, $24, $E9, $EA, $03, $00, $00, $31, $C0, $C3, $8D, $40, $00, + $31, $D2, $8D, $45, $F4, $64, $8B, $0A, $64, $89, $02, $89, $08, $C7, $40, $04, + $50, $34, $40, $00, $89, $68, $08, $A3, $B4, $A7, $40, $00, $C3, $8D, $40, $00, + $31, $D2, $A1, $B4, $A7, $40, $00, $85, $C0, $74, $1C, $64, $8B, $0A, $39, $C8, + $75, $08, $8B, $00, $64, $89, $02, $C3, $8B, $09, $83, $F9, $FF, $74, $08, $39, + $01, $75, $F5, $8B, $00, $89, $01, $C3, $55, $8B, $EC, $53, $56, $57, $A1, $B8, + $A7, $40, $00, $85, $C0, $74, $4E, $8B, $1D, $BC, $A7, $40, $00, $8B, $78, $04, + $33, $C0, $55, $68, $81, $35, $40, $00, $64, $FF, $30, $64, $89, $20, $85, $DB, + $7E, $15, $4B, $89, $1D, $BC, $A7, $40, $00, $8B, $74, $DF, $04, $85, $F6, $74, + $02, $FF, $D6, $85, $DB, $7F, $EB, $33, $C0, $5A, $59, $59, $64, $89, $10, $EB, + $14, $E9, $82, $FB, $FF, $FF, $E8, $AD, $FF, $FF, $FF, $E8, $84, $FD, $FF, $FF, + $E8, $D3, $FD, $FF, $FF, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $51, + $53, $56, $57, $A1, $B8, $A7, $40, $00, $85, $C0, $74, $51, $8B, $38, $33, $DB, + $8B, $40, $04, $89, $45, $FC, $33, $C0, $55, $68, $E9, $35, $40, $00, $64, $FF, + $30, $64, $89, $20, $3B, $FB, $7E, $17, $8B, $45, $FC, $8B, $34, $D8, $43, $89, + $1D, $BC, $A7, $40, $00, $85, $F6, $74, $02, $FF, $D6, $3B, $FB, $7F, $E9, $33, + $C0, $5A, $59, $59, $64, $89, $10, $EB, $14, $E9, $1A, $FB, $FF, $FF, $E8, $45, + $FF, $FF, $FF, $E8, $1C, $FD, $FF, $FF, $E8, $6B, $FD, $FF, $FF, $5F, $5E, $5B, + $59, $5D, $C3, $90, $51, $56, $57, $BE, $B0, $A7, $40, $00, $8D, $7D, $C4, $B9, + $0B, $00, $00, $00, $F3, $A5, $8F, $05, $D0, $A7, $40, $00, $8F, $05, $CC, $A7, + $40, $00, $89, $2D, $C4, $A7, $40, $00, $89, $1D, $C8, $A7, $40, $00, $A3, $B8, + $A7, $40, $00, $89, $15, $C0, $A7, $40, $00, $8D, $4D, $C4, $89, $0D, $B0, $A7, + $40, $00, $31, $C9, $83, $7D, $0C, $00, $75, $02, $8B, $08, $89, $0D, $BC, $A7, + $40, $00, $B8, $08, $10, $40, $00, $A3, $10, $80, $40, $00, $B8, $10, $10, $40, + $00, $A3, $14, $80, $40, $00, $E8, $85, $FE, $FF, $FF, $8B, $45, $0C, $40, $A2, + $D8, $A7, $40, $00, $48, $59, $8B, $11, $89, $15, $D4, $A7, $40, $00, $74, $07, + $3C, $03, $7D, $03, $FF, $14, $81, $51, $8B, $4C, $24, $08, $85, $C9, $74, $08, + $8B, $45, $0C, $8B, $55, $10, $FF, $D1, $59, $8B, $45, $0C, $3C, $03, $7C, $03, + $FF, $14, $81, $83, $3D, $1C, $80, $40, $00, $00, $75, $0D, $C6, $05, $24, $80, + $40, $00, $01, $D9, $3D, $0C, $70, $40, $00, $8B, $45, $0C, $48, $0F, $85, $29, + $01, $00, $00, $E8, $D4, $FE, $FF, $FF, $C2, $04, $00, $C3, $53, $56, $57, $BF, + $44, $77, $40, $00, $B3, $10, $8B, $35, $00, $70, $40, $00, $8B, $C6, $B9, $0A, + $00, $00, $00, $99, $F7, $F9, $80, $C2, $30, $0F, $B6, $C3, $88, $14, $07, $B9, + $0A, $00, $00, $00, $8B, $C6, $99, $F7, $F9, $89, $C6, $4B, $85, $F6, $75, $DC, + $B3, $1C, $8B, $35, $04, $70, $40, $00, $8B, $C6, $83, $E0, $0F, $0F, $B6, $80, + $64, $77, $40, $00, $0F, $B6, $D3, $88, $04, $17, $B9, $10, $00, $00, $00, $8B, + $C6, $33, $D2, $F7, $F1, $89, $C6, $4B, $85, $F6, $75, $DC, $5F, $5E, $5B, $C3, + $31, $C0, $87, $05, $00, $70, $40, $00, $F7, $D8, $19, $C0, $40, $BF, $B0, $A7, + $40, $00, $8B, $5F, $18, $8B, $6F, $14, $FF, $77, $1C, $FF, $77, $20, $8B, $37, + $B9, $0B, $00, $00, $00, $F3, $A5, $5F, $5E, $C9, $C2, $0C, $00, $C3, $8B, $C0, + $51, $80, $3D, $34, $80, $40, $00, $00, $74, $57, $66, $81, $3D, $08, $82, $40, + $00, $B2, $D7, $75, $14, $83, $3D, $10, $82, $40, $00, $00, $76, $0B, $B8, $04, + $82, $40, $00, $FF, $15, $20, $82, $40, $00, $6A, $00, $8D, $44, $24, $04, $50, + $6A, $1E, $68, $44, $77, $40, $00, $6A, $F5, $E8, $62, $D8, $FF, $FF, $50, $E8, + $7C, $D8, $FF, $FF, $6A, $00, $8D, $44, $24, $04, $50, $6A, $02, $68, $E8, $37, + $40, $00, $6A, $F5, $E8, $47, $D8, $FF, $FF, $50, $E8, $61, $D8, $FF, $FF, $5A, + $C3, $80, $3D, $18, $70, $40, $00, $00, $75, $13, $6A, $00, $68, $3C, $77, $40, + $00, $68, $44, $77, $40, $00, $6A, $00, $E8, $53, $D8, $FF, $FF, $5A, $C3, $00, + $FF, $FF, $FF, $FF, $02, $00, $00, $00, $0D, $0A, $00, $00, $53, $56, $57, $55, + $BB, $B0, $A7, $40, $00, $BF, $30, $80, $40, $00, $80, $7B, $28, $00, $75, $14, + $83, $3F, $00, $74, $0F, $8B, $07, $89, $C6, $33, $C0, $89, $07, $FF, $D6, $83, + $3F, $00, $75, $F1, $83, $3D, $04, $70, $40, $00, $00, $74, $11, $E8, $AA, $FE, + $FF, $FF, $E8, $39, $FF, $FF, $FF, $33, $C0, $A3, $04, $70, $40, $00, $80, $7B, + $28, $02, $75, $0E, $83, $3D, $00, $70, $40, $00, $00, $75, $05, $33, $C0, $89, + $43, $0C, $E8, $F1, $FC, $FF, $FF, $80, $7B, $28, $01, $76, $09, $83, $3D, $00, + $70, $40, $00, $00, $74, $23, $8B, $7B, $10, $85, $FF, $74, $1C, $8B, $C7, $E8, + $40, $05, $00, $00, $8B, $6B, $10, $8B, $75, $10, $3B, $75, $04, $74, $0A, $85, + $F6, $74, $06, $56, $E8, $BF, $D7, $FF, $FF, $E8, $92, $FC, $FF, $FF, $80, $7B, + $28, $01, $75, $03, $FF, $53, $24, $80, $7B, $28, $00, $74, $05, $E8, $9E, $FE, + $FF, $FF, $83, $3B, $00, $75, $1A, $83, $3D, $18, $80, $40, $00, $00, $74, $06, + $FF, $15, $18, $80, $40, $00, $A1, $00, $70, $40, $00, $50, $E8, $77, $D7, $FF, + $FF, $8B, $03, $8B, $F0, $8B, $FB, $B9, $0B, $00, $00, $00, $F3, $A5, $E9, $6B, + $FF, $FF, $FF, $5D, $5F, $5E, $5B, $C3, $A3, $00, $70, $40, $00, $E8, $1A, $FF, + $FF, $FF, $C3, $90, $8F, $05, $04, $70, $40, $00, $E9, $E9, $FF, $FF, $FF, $C3, + $8B, $10, $85, $D2, $74, $1C, $C7, $00, $00, $00, $00, $00, $8B, $4A, $F8, $49, + $7C, $10, $F0, $FF, $4A, $F8, $75, $0A, $50, $8D, $42, $F8, $E8, $BF, $F2, $FF, + $FF, $58, $C3, $90, $53, $56, $89, $C3, $89, $D6, $8B, $13, $85, $D2, $74, $1A, + $C7, $03, $00, $00, $00, $00, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8, + $75, $08, $8D, $42, $F8, $E8, $96, $F2, $FF, $FF, $83, $C3, $04, $4E, $75, $DA, + $5E, $5B, $C3, $90, $85, $D2, $74, $24, $8B, $4A, $F8, $41, $7F, $1A, $50, $52, + $8B, $42, $FC, $E8, $30, $00, $00, $00, $89, $C2, $58, $52, $8B, $48, $FC, $E8, + $48, $F3, $FF, $FF, $5A, $58, $EB, $04, $F0, $FF, $42, $F8, $87, $10, $85, $D2, + $74, $14, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8, $75, $08, $8D, $42, + $F8, $E8, $4A, $F2, $FF, $FF, $C3, $90, $85, $C0, $7E, $24, $50, $83, $C0, $0A, + $83, $E0, $FE, $50, $E8, $1B, $F2, $FF, $FF, $5A, $66, $C7, $44, $02, $FE, $00, + $00, $83, $C0, $08, $5A, $89, $50, $FC, $C7, $40, $F8, $01, $00, $00, $00, $C3, + $31, $C0, $C3, $90, $53, $56, $57, $89, $C3, $89, $D6, $89, $CF, $89, $F8, $E8, + $C4, $FF, $FF, $FF, $89, $F9, $89, $C7, $85, $F6, $74, $09, $89, $C2, $89, $F0, + $E8, $D7, $F2, $FF, $FF, $89, $D8, $E8, $14, $FF, $FF, $FF, $89, $3B, $5F, $5E, + $5B, $C3, $8B, $C0, $52, $89, $E2, $B9, $01, $00, $00, $00, $E8, $C3, $FF, $FF, + $FF, $5A, $C3, $90, $57, $50, $51, $89, $D7, $31, $C0, $F2, $AE, $75, $02, $F7, + $D1, $58, $01, $C1, $58, $5F, $E9, $A9, $FF, $FF, $FF, $C3, $85, $D2, $74, $46, + $8B, $08, $85, $C9, $0F, $84, $2A, $FF, $FF, $FF, $53, $56, $57, $89, $C3, $89, + $D6, $8B, $79, $FC, $8B, $56, $FC, $01, $FA, $70, $26, $39, $CE, $74, $17, $E8, + $A8, $02, $00, $00, $89, $F0, $8B, $4E, $FC, $8B, $13, $01, $FA, $E8, $6A, $F2, + $FF, $FF, $5F, $5E, $5B, $C3, $E8, $91, $02, $00, $00, $8B, $03, $89, $F9, $EB, + $E8, $E9, $52, $F5, $FF, $FF, $C3, $90, $53, $56, $57, $52, $50, $89, $D3, $31, + $FF, $8B, $4C, $94, $14, $85, $C9, $74, $0C, $39, $08, $75, $08, $89, $CF, $8B, + $41, $FC, $4A, $EB, $02, $31, $C0, $8B, $4C, $94, $14, $85, $C9, $74, $0B, $03, + $41, $FC, $70, $5F, $39, $CF, $75, $02, $31, $FF, $4A, $75, $EA, $85, $FF, $74, + $17, $89, $C2, $8B, $04, $24, $8B, $77, $FC, $E8, $3E, $02, $00, $00, $8B, $3C, + $24, $FF, $37, $03, $37, $4B, $EB, $08, $E8, $DB, $FE, $FF, $FF, $50, $89, $C6, + $8B, $44, $9C, $18, $89, $F2, $85, $C0, $74, $0A, $8B, $48, $FC, $01, $CE, $E8, + $E8, $F1, $FF, $FF, $4B, $75, $E9, $5A, $58, $85, $FF, $75, $0C, $85, $D2, $74, + $03, $FF, $4A, $F8, $E8, $6B, $FE, $FF, $FF, $5A, $5F, $5E, $5B, $58, $8D, $24, + $94, $FF, $E0, $E9, $C0, $F4, $FF, $FF, $C3, $8D, $40, $00, $39, $D0, $74, $30, + $85, $D0, $74, $40, $0F, $B6, $08, $2A, $0A, $75, $25, $53, $8B, $58, $FC, $2B, + $5A, $FC, $53, $83, $D1, $FF, $21, $D9, $2B, $48, $FC, $29, $C8, $29, $CA, $8B, + $1C, $01, $33, $1C, $11, $75, $0A, $83, $C1, $04, $78, $F3, $58, $01, $C0, $5B, + $C3, $0F, $BC, $DB, $C1, $EB, $03, $01, $D9, $79, $F1, $8A, $04, $01, $3A, $04, + $11, $5B, $5B, $C3, $85, $C0, $74, $08, $85, $D2, $75, $B8, $39, $50, $FC, $C3, + $3B, $42, $FC, $C3, $85, $C0, $74, $0A, $C3, $FF, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $B8, $41, $3B, $40, $00, $C3, $53, $85, $C0, $74, $2D, $8B, $58, $FC, + $85, $DB, $74, $26, $4A, $7C, $1B, $39, $DA, $7D, $1F, $29, $D3, $85, $C9, $7C, + $19, $39, $D9, $7F, $11, $01, $C2, $8B, $44, $24, $08, $E8, $34, $FE, $FF, $FF, + $EB, $11, $31, $D2, $EB, $E5, $89, $D9, $EB, $EB, $8B, $44, $24, $08, $E8, $5D, + $FD, $FF, $FF, $5B, $C2, $04, $00, $C3, $53, $56, $83, $C4, $F0, $85, $D2, $74, + $4E, $85, $C0, $74, $4A, $8B, $72, $FC, $8B, $58, $FC, $39, $DE, $7C, $40, $85, + $DB, $7E, $3C, $4B, $01, $D6, $01, $DA, $89, $74, $24, $08, $01, $D8, $89, $54, + $24, $04, $F7, $DB, $0F, $B6, $08, $89, $1C, $24, $0F, $85, $99, $00, $00, $00, + $83, $EE, $02, $89, $74, $24, $0C, $3A, $0A, $74, $41, $3A, $4A, $01, $74, $4C, + $83, $C2, $02, $3B, $54, $24, $0C, $72, $0A, $3B, $54, $24, $08, $72, $E8, $31, + $C0, $EB, $30, $3A, $0A, $74, $25, $3A, $4A, $01, $74, $30, $3A, $4A, $02, $74, + $18, $3A, $4A, $03, $74, $23, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B, + $54, $24, $08, $72, $C2, $31, $C0, $EB, $0A, $83, $C2, $02, $42, $89, $D0, $2B, + $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $83, $C2, $02, $31, + $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B, $44, $24, $04, $83, $C4, $10, + $5E, $5B, $C3, $3A, $0A, $74, $75, $3A, $4A, $01, $74, $43, $3A, $4A, $02, $74, + $68, $3A, $4A, $03, $74, $36, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B, + $54, $24, $08, $72, $0B, $31, $C0, $EB, $4A, $83, $EE, $02, $89, $74, $24, $0C, + $3A, $0A, $74, $48, $3A, $4A, $01, $74, $16, $83, $C2, $02, $3B, $54, $24, $0C, + $72, $C1, $3B, $54, $24, $08, $72, $E8, $31, $C0, $EB, $27, $83, $C2, $02, $8B, + $34, $24, $0F, $B7, $1C, $30, $66, $3B, $5C, $32, $01, $75, $DC, $83, $C6, $02, + $7C, $F0, $83, $C2, $02, $31, $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B, + $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $8B, $34, $24, $0F, + $B7, $1C, $30, $66, $3B, $1C, $32, $75, $AB, $83, $C6, $02, $7C, $F1, $42, $89, + $D0, $2B, $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $90, $53, $56, $57, $89, + $C3, $89, $D6, $31, $FF, $85, $D2, $7E, $48, $8B, $03, $85, $C0, $74, $23, $83, + $78, $F8, $01, $75, $1D, $83, $E8, $08, $83, $C2, $09, $50, $89, $E0, $E8, $E5, + $EE, $FF, $FF, $58, $83, $C0, $08, $89, $03, $89, $70, $FC, $C6, $04, $06, $00, + $EB, $28, $89, $D0, $E8, $6F, $FC, $FF, $FF, $89, $C7, $8B, $03, $85, $C0, $74, + $10, $89, $FA, $8B, $48, $FC, $39, $F1, $7C, $02, $89, $F1, $E8, $7B, $EF, $FF, + $FF, $89, $D8, $E8, $B8, $FB, $FF, $FF, $89, $3B, $5F, $5E, $5B, $C3, $8B, $C0, + $B0, $11, $E9, $49, $EF, $FF, $FF, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56, + $57, $89, $45, $FC, $A1, $20, $70, $40, $00, $89, $45, $F8, $83, $7D, $F8, $00, + $74, $39, $33, $C0, $55, $68, $73, $3D, $40, $00, $64, $FF, $30, $64, $89, $20, + $8B, $5D, $F8, $8B, $45, $FC, $FF, $53, $04, $33, $C0, $5A, $59, $59, $64, $89, + $10, $EB, $0A, $E9, $90, $F3, $FF, $FF, $E8, $EB, $F5, $FF, $FF, $8B, $45, $F8, + $8B, $00, $89, $45, $F8, $83, $7D, $F8, $00, $75, $C7, $5F, $5E, $5B, $59, $59, + $5D, $C3, $8B, $C0, $8B, $15, $1C, $70, $40, $00, $89, $10, $A3, $1C, $70, $40, + $00, $C3, $8B, $C0, $55, $8B, $EC, $51, $89, $45, $FC, $33, $D2, $55, $68, $08, + $3E, $40, $00, $64, $FF, $32, $64, $89, $22, $8B, $45, $FC, $8B, $40, $04, $E8, + $74, $FF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $0F, $3E, $40, + $00, $8B, $45, $FC, $3B, $05, $1C, $70, $40, $00, $75, $0C, $8B, $45, $FC, $8B, + $00, $A3, $1C, $70, $40, $00, $EB, $1F, $A1, $1C, $70, $40, $00, $85, $C0, $74, + $16, $8B, $10, $3B, $55, $FC, $75, $09, $8B, $55, $FC, $8B, $12, $89, $10, $EB, + $06, $8B, $00, $85, $C0, $75, $EA, $C3, $E9, $27, $F4, $FF, $FF, $EB, $C2, $59, + $5D, $C3, $8B, $C0, $FF, $25, $94, $B1, $40, $00, $8B, $C0, $55, $8B, $EC, $33, + $C0, $55, $68, $70, $3E, $40, $00, $64, $FF, $30, $64, $89, $20, $FF, $05, $A0, + $85, $40, $00, $75, $2D, $B8, $38, $80, $40, $00, $E8, $5D, $EF, $FF, $FF, $B8, + $04, $82, $40, $00, $E8, $53, $EF, $FF, $FF, $B8, $D0, $83, $40, $00, $E8, $49, + $EF, $FF, $FF, $E8, $F8, $EC, $FF, $FF, $B8, $24, $70, $40, $00, $E8, $7E, $FA, + $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $77, $3E, $40, $00, $C3, + $E9, $BF, $F3, $FF, $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $FF, $25, $E8, $B1, + $40, $00, $8B, $C0, $FF, $25, $E4, $B1, $40, $00, $8B, $C0, $FF, $25, $E0, $B1, + $40, $00, $8B, $C0, $FF, $25, $DC, $B1, $40, $00, $8B, $C0, $FF, $25, $D8, $B1, + $40, $00, $8B, $C0, $FF, $25, $D4, $B1, $40, $00, $8B, $C0, $50, $6A, $40, $E8, + $C8, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $C3, $8B, $C0, + $53, $E8, $F2, $FF, $FF, $FF, $8B, $D8, $85, $DB, $74, $36, $83, $3D, $74, $77, + $40, $00, $FF, $75, $0A, $B8, $E2, $00, $00, $00, $E8, $F5, $F9, $FF, $FF, $8B, + $C3, $E8, $C6, $FF, $FF, $FF, $85, $C0, $75, $0C, $B8, $E2, $00, $00, $00, $E8, + $E0, $F9, $FF, $FF, $EB, $0C, $50, $A1, $74, $77, $40, $00, $50, $E8, $A2, $FF, + $FF, $FF, $5B, $C3, $B8, $08, $00, $00, $00, $85, $C0, $74, $1F, $E8, $7A, $FF, + $FF, $FF, $A3, $74, $77, $40, $00, $E8, $A4, $FF, $FF, $FF, $A1, $74, $77, $40, + $00, $50, $E8, $75, $FF, $FF, $FF, $A3, $E8, $A7, $40, $00, $C3, $8D, $40, $00, + $B8, $08, $00, $00, $00, $85, $C0, $74, $2B, $83, $3D, $74, $77, $40, $00, $FF, + $74, $22, $A1, $74, $77, $40, $00, $50, $E8, $4F, $FF, $FF, $FF, $85, $C0, $74, + $13, $50, $E8, $2D, $FF, $FF, $FF, $6A, $00, $A1, $74, $77, $40, $00, $50, $E8, + $40, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $85, $C0, $74, + $19, $E8, $BA, $FF, $FF, $FF, $83, $3D, $74, $77, $40, $00, $FF, $74, $0B, $A1, + $74, $77, $40, $00, $50, $E8, $0A, $FF, $FF, $FF, $C3, $90, $8A, $0D, $DC, $A7, + $40, $00, $A1, $74, $77, $40, $00, $84, $C9, $75, $26, $64, $8B, $15, $2C, $00, + $00, $00, $8B, $04, $82, $C3, $E8, $15, $FF, $FF, $FF, $A1, $74, $77, $40, $00, + $50, $E8, $E6, $FE, $FF, $FF, $85, $C0, $74, $01, $C3, $A1, $E8, $A7, $40, $00, + $C3, $50, $E8, $D5, $FE, $FF, $FF, $85, $C0, $74, $DB, $C3, $B8, $78, $77, $40, + $00, $E8, $BE, $FD, $FF, $FF, $C3, $90, $BA, $78, $77, $40, $00, $83, $7D, $0C, + $01, $75, $2A, $50, $52, $C6, $05, $DC, $A7, $40, $00, $01, $8B, $4D, $08, $89, + $0D, $E0, $A7, $40, $00, $89, $4A, $04, $C7, $42, $08, $00, $00, $00, $00, $C7, + $42, $0C, $00, $00, $00, $00, $E8, $C1, $FF, $FF, $FF, $5A, $58, $FF, $35, $E4, + $A7, $40, $00, $B9, $90, $77, $40, $00, $E8, $E7, $F5, $FF, $FF, $C3, $8B, $C0, + $FF, $25, $54, $B2, $40, $00, $8B, $C0, $FF, $25, $50, $B2, $40, $00, $8B, $C0, + $FF, $25, $4C, $B2, $40, $00, $8B, $C0, $FF, $25, $48, $B2, $40, $00, $8B, $C0, + $FF, $25, $44, $B2, $40, $00, $8B, $C0, $FF, $25, $40, $B2, $40, $00, $8B, $C0, + $FF, $25, $3C, $B2, $40, $00, $8B, $C0, $FF, $25, $38, $B2, $40, $00, $8B, $C0, + $FF, $25, $34, $B2, $40, $00, $8B, $C0, $FF, $25, $30, $B2, $40, $00, $8B, $C0, + $FF, $25, $2C, $B2, $40, $00, $8B, $C0, $FF, $25, $28, $B2, $40, $00, $8B, $C0, + $FF, $25, $24, $B2, $40, $00, $8B, $C0, $FF, $25, $20, $B2, $40, $00, $8B, $C0, + $FF, $25, $1C, $B2, $40, $00, $8B, $C0, $FF, $25, $18, $B2, $40, $00, $8B, $C0, + $FF, $25, $14, $B2, $40, $00, $8B, $C0, $FF, $25, $10, $B2, $40, $00, $8B, $C0, + $FF, $25, $08, $B2, $40, $00, $8B, $C0, $FF, $25, $04, $B2, $40, $00, $8B, $C0, + $FF, $25, $00, $B2, $40, $00, $8B, $C0, $FF, $25, $FC, $B1, $40, $00, $8B, $C0, + $FF, $25, $F8, $B1, $40, $00, $8B, $C0, $FF, $25, $F4, $B1, $40, $00, $8B, $C0, + $FF, $25, $F0, $B1, $40, $00, $8B, $C0, $92, $E8, $AE, $EB, $FF, $FF, $C3, $90, + $55, $8B, $EC, $33, $C0, $55, $68, $2B, $41, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $EC, $A7, $40, $00, $75, $14, $83, $3D, $F0, $A7, $40, $00, $00, + $74, $0B, $A1, $F0, $A7, $40, $00, $50, $E8, $0B, $FF, $FF, $FF, $33, $C0, $5A, + $59, $59, $64, $89, $10, $68, $32, $41, $40, $00, $C3, $E9, $04, $F1, $FF, $FF, + $EB, $F8, $5D, $C3, $55, $8B, $EC, $83, $C4, $EC, $53, $56, $57, $55, $68, $E6, + $43, $40, $00, $64, $FF, $35, $00, $00, $00, $00, $64, $89, $25, $00, $00, $00, + $00, $8B, $F8, $85, $C0, $0F, $84, $7D, $02, $00, $00, $C6, $45, $FF, $00, $33, + $D2, $C7, $45, $F8, $04, $00, $00, $00, $33, $C9, $89, $4D, $EC, $0F, $B6, $30, + $40, $66, $83, $FE, $66, $75, $09, $C7, $45, $F8, $02, $00, $00, $00, $EB, $26, + $66, $83, $FE, $67, $75, $06, $C6, $45, $FF, $01, $EB, $1A, $8B, $CE, $66, $81, + $E1, $E7, $00, $66, $83, $F9, $26, $74, $0D, $8B, $CE, $83, $C1, $9C, $66, $83, + $E9, $02, $72, $02, $B2, $01, $84, $D2, $74, $C3, $66, $83, $FE, $0F, $75, $16, + $0F, $B6, $30, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $79, $40, $00, $66, $81, + $C6, $00, $0F, $40, $EB, $0B, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $77, $40, + $00, $F6, $C1, $38, $0F, $84, $9A, $01, $00, $00, $0F, $B6, $10, $8B, $DA, $80, + $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $40, $8B, $DA, $80, $E3, $C0, $80, $EB, + $40, $74, $07, $80, $EB, $40, $74, $0B, $EB, $21, $C7, $45, $F0, $01, $00, $00, + $00, $EB, $1D, $80, $7D, $FF, $00, $74, $09, $C7, $45, $F0, $02, $00, $00, $00, + $EB, $0E, $C7, $45, $F0, $04, $00, $00, $00, $EB, $05, $33, $DB, $89, $5D, $F0, + $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $0F, $95, $C3, $22, $5D, $FF, $75, $31, + $83, $7D, $F4, $04, $75, $16, $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $74, $0C, + $0F, $B6, $18, $80, $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $F6, $C2, $C0, $75, + $0D, $83, $7D, $F4, $05, $75, $07, $C7, $45, $F0, $04, $00, $00, $00, $03, $45, + $F0, $8B, $D9, $83, $E3, $38, $83, $FB, $08, $0F, $85, $05, $01, $00, $00, $0F, + $B7, $CE, $81, $C1, $28, $FF, $FF, $FF, $83, $F9, $1F, $0F, $87, $B0, $00, $00, + $00, $0F, $B6, $89, $8F, $42, $40, $00, $FF, $24, $8D, $AF, $42, $40, $00, $03, + $04, $05, $06, $07, $08, $09, $0A, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $02, $31, + $43, $40, $00, $DB, $42, $40, $00, $E2, $42, $40, $00, $EB, $42, $40, $00, $F4, + $42, $40, $00, $FD, $42, $40, $00, $06, $43, $40, $00, $0F, $43, $40, $00, $18, + $43, $40, $00, $21, $43, $40, $00, $2A, $43, $40, $00, $33, $C9, $89, $4D, $EC, + $EB, $4F, $C7, $45, $EC, $01, $00, $00, $00, $EB, $46, $C7, $45, $EC, $02, $00, + $00, $00, $EB, $3D, $C7, $45, $EC, $03, $00, $00, $00, $EB, $34, $C7, $45, $EC, + $04, $00, $00, $00, $EB, $2B, $C7, $45, $EC, $05, $00, $00, $00, $EB, $22, $C7, + $45, $EC, $06, $00, $00, $00, $EB, $19, $C7, $45, $EC, $07, $00, $00, $00, $EB, + $10, $C7, $45, $EC, $08, $00, $00, $00, $EB, $07, $C7, $45, $EC, $09, $00, $00, + $00, $8B, $CA, $80, $E1, $C0, $80, $F9, $C0, $74, $1D, $0F, $B6, $D2, $C1, $EA, + $03, $83, $E2, $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B, + $40, $00, $0F, $B7, $0C, $51, $EB, $1C, $0F, $B6, $D2, $C1, $EA, $03, $83, $E2, + $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B, $40, $00, $0F, + $B7, $4C, $51, $10, $81, $E1, $00, $0C, $00, $00, $81, $E9, $00, $04, $00, $00, + $74, $12, $81, $E9, $00, $04, $00, $00, $74, $0D, $81, $E9, $00, $04, $00, $00, + $74, $0A, $EB, $0D, $40, $EB, $41, $83, $C0, $02, $EB, $3C, $03, $45, $F8, $EB, + $37, $66, $81, $EE, $9A, $00, $74, $15, $83, $C6, $FA, $66, $83, $EE, $04, $72, + $19, $66, $83, $EE, $24, $74, $0E, $66, $83, $EE, $22, $75, $1B, $03, $45, $F8, + $83, $C0, $02, $EB, $13, $83, $C0, $03, $EB, $0E, $80, $7D, $FF, $00, $74, $05, + $83, $C0, $02, $EB, $03, $83, $C0, $04, $8B, $D8, $2B, $DF, $33, $C0, $5A, $59, + $59, $64, $89, $10, $EB, $0C, $E9, $1D, $ED, $FF, $FF, $33, $DB, $E8, $76, $EF, + $FF, $FF, $8B, $C3, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $90, $53, $56, $57, $55, + $51, $8B, $EA, $89, $04, $24, $33, $DB, $8B, $34, $24, $8B, $C6, $E8, $22, $FD, + $FF, $FF, $8B, $F8, $03, $F7, $03, $DF, $83, $FB, $05, $72, $EE, $8B, $CB, $8B, + $14, $24, $8B, $C5, $E8, $BF, $FC, $FF, $FF, $8B, $C5, $8B, $D0, $03, $D3, $C6, + $02, $E9, $2B, $F0, $2B, $F3, $83, $EE, $05, $42, $89, $32, $8B, $C3, $5A, $5D, + $5F, $5E, $5B, $C3, $55, $8B, $EC, $83, $C4, $F0, $53, $56, $57, $89, $4D, $F8, + $89, $55, $FC, $C6, $45, $F7, $00, $8B, $D0, $66, $81, $3A, $FF, $25, $75, $07, + $8B, $42, $02, $8B, $18, $EB, $02, $8B, $D8, $8D, $45, $F0, $50, $6A, $40, $6A, + $05, $53, $E8, $31, $FC, $FF, $FF, $85, $C0, $74, $7C, $33, $D2, $55, $68, $E9, + $44, $40, $00, $64, $FF, $32, $64, $89, $22, $6A, $40, $68, $00, $10, $00, $00, + $68, $00, $10, $00, $00, $6A, $00, $E8, $FC, $FB, $FF, $FF, $8B, $F0, $8B, $FB, + $89, $3E, $8B, $D6, $83, $C2, $05, $8B, $C3, $E8, $4E, $FF, $FF, $FF, $8B, $D6, + $83, $C2, $04, $88, $02, $C6, $03, $E9, $8B, $45, $FC, $2B, $C7, $83, $E8, $05, + $47, $89, $07, $8D, $45, $F0, $50, $8B, $45, $F0, $50, $6A, $05, $53, $E8, $D5, + $FB, $FF, $FF, $83, $C6, $05, $8B, $45, $F8, $89, $30, $C6, $45, $F7, $01, $33, + $C0, $5A, $59, $59, $64, $89, $10, $EB, $0E, $E9, $1A, $EC, $FF, $FF, $C6, $45, + $F7, $00, $E8, $71, $EE, $FF, $FF, $0F, $B6, $45, $F7, $5F, $5E, $5B, $8B, $E5, + $5D, $C3, $8B, $C0, $55, $8B, $EC, $83, $C4, $F8, $53, $56, $57, $8B, $F8, $B3, + $01, $33, $D2, $55, $68, $75, $45, $40, $00, $64, $FF, $32, $64, $89, $22, $8B, + $C7, $8B, $D0, $83, $EA, $05, $8B, $32, $48, $0F, $B6, $00, $89, $45, $F8, $8D, + $45, $FC, $50, $6A, $40, $6A, $05, $56, $E8, $6B, $FB, $FF, $FF, $8B, $4D, $F8, + $8B, $D7, $8B, $C6, $E8, $9F, $FB, $FF, $FF, $8D, $45, $FC, $50, $8B, $45, $FC, + $50, $6A, $05, $56, $E8, $4F, $FB, $FF, $FF, $8B, $C7, $83, $E8, $05, $68, $00, + $80, $00, $00, $6A, $00, $50, $E8, $35, $FB, $FF, $FF, $33, $C0, $5A, $59, $59, + $64, $89, $10, $EB, $0C, $E9, $8E, $EB, $FF, $FF, $33, $DB, $E8, $E7, $ED, $FF, + $FF, $8B, $C3, $5F, $5E, $5B, $59, $59, $5D, $C3, $8B, $C0, $85, $C0, $74, $75, + $85, $D2, $74, $6D, $57, $53, $31, $FF, $8B, $58, $FC, $89, $D9, $2B, $5A, $FC, + $83, $D7, $FF, $53, $21, $FB, $89, $C7, $29, $CB, $7D, $13, $29, $DF, $29, $DA, + $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $75, $13, $83, $C3, $04, $7C, $F1, $58, + $5B, $5F, $C3, $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $74, $ED, $A9, $DF, $DF, + $DF, $DF, $75, $3E, $01, $C0, $01, $C0, $85, $C8, $75, $36, $81, $E1, $5F, $5F, + $5F, $5F, $81, $C1, $3F, $3F, $3F, $3F, $81, $E1, $7F, $7F, $7F, $7F, $81, $C1, + $66, $66, $66, $66, $85, $C1, $75, $1A, $83, $C3, $04, $7C, $C6, $58, $5B, $5F, + $C3, $8B, $40, $FC, $C3, $85, $D2, $74, $03, $2B, $42, $FC, $C3, $83, $C3, $01, + $7D, $EB, $0F, $B6, $04, $1F, $0F, $B6, $0C, $1A, $83, $E8, $61, $83, $E9, $61, + $3C, $19, $77, $03, $83, $E8, $20, $80, $F9, $19, $77, $03, $83, $E9, $20, $29, + $C8, $74, $DA, $59, $5B, $5F, $C3, $90, $39, $D0, $74, $19, $09, $C0, $74, $17, + $09, $D2, $74, $14, $8B, $48, $FC, $3B, $4A, $FC, $75, $0C, $E8, $3B, $FF, $FF, + $FF, $85, $C0, $75, $03, $B0, $01, $C3, $31, $C0, $C3, $90, $55, $8B, $EC, $83, + $C4, $F8, $53, $56, $57, $33, $C9, $89, $4D, $F8, $8B, $F2, $89, $45, $FC, $33, + $C0, $55, $68, $CB, $46, $40, $00, $64, $FF, $30, $64, $89, $20, $8B, $C6, $85, + $C0, $74, $05, $83, $E8, $04, $8B, $00, $8B, $F8, $85, $FF, $7E, $27, $0F, $B6, + $5C, $3E, $FF, $84, $DB, $74, $1E, $8D, $45, $F8, $8B, $D3, $E8, $33, $F3, $FF, + $FF, $8B, $45, $F8, $8B, $55, $FC, $E8, $DC, $F4, $FF, $FF, $85, $C0, $75, $05, + $4F, $85, $FF, $7F, $D9, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $D2, $46, + $40, $00, $8D, $45, $F8, $E8, $16, $F2, $FF, $FF, $C3, $E9, $64, $EB, $FF, $FF, + $EB, $F0, $8B, $C7, $5F, $5E, $5B, $59, $59, $5D, $C3, $90, $53, $56, $57, $8B, + $FA, $8B, $D8, $8B, $D3, $B8, $10, $47, $40, $00, $E8, $6D, $FF, $FF, $FF, $8B, + $F0, $57, $8D, $56, $01, $B9, $FF, $FF, $FF, $7F, $8B, $C3, $E8, $47, $F4, $FF, + $FF, $5F, $5E, $5B, $C3, $00, $00, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00, + $5C, $00, $00, $00, $53, $56, $57, $55, $81, $C4, $00, $FC, $FF, $FF, $8B, $F2, + $8B, $F8, $8B, $C6, $E8, $B7, $F1, $FF, $FF, $68, $00, $04, $00, $00, $8D, $44, + $24, $04, $50, $8B, $C7, $E8, $FA, $F3, $FF, $FF, $8B, $E8, $55, $E8, $FE, $F8, + $FF, $FF, $8B, $D8, $81, $FB, $00, $04, $00, $00, $7D, $0D, $8B, $D4, $8B, $C6, + $8B, $CB, $E8, $4D, $F2, $FF, $FF, $EB, $19, $8B, $D3, $4A, $8B, $C6, $E8, $69, + $F5, $FF, $FF, $53, $8B, $06, $E8, $C9, $F3, $FF, $FF, $50, $55, $E8, $CE, $F8, + $FF, $FF, $81, $C4, $00, $04, $00, $00, $5D, $5F, $5E, $5B, $C3, $8D, $40, $00, + $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, $68, $05, $01, $00, + $00, $8D, $44, $24, $04, $50, $53, $E8, $AC, $F8, $FF, $FF, $8B, $C8, $8B, $D4, + $8B, $C6, $E8, $FD, $F1, $FF, $FF, $81, $C4, $08, $01, $00, $00, $5E, $5B, $C3, + $FF, $FF, $FF, $FF, $02, $00, $00, $00, $00, $00, $00, $00, $55, $8B, $EC, $83, + $C4, $F8, $53, $56, $57, $8B, $F1, $8B, $FA, $8B, $D8, $C6, $45, $FF, $00, $8B, + $C3, $E8, $5E, $F3, $FF, $FF, $50, $6A, $00, $6A, $02, $E8, $A0, $F8, $FF, $FF, + $89, $45, $F8, $83, $7D, $F8, $00, $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33, + $C0, $55, $68, $46, $48, $40, $00, $64, $FF, $30, $64, $89, $20, $56, $6A, $00, + $6A, $00, $6A, $02, $8B, $45, $F8, $50, $E8, $6B, $F8, $FF, $FF, $8B, $D8, $85, + $DB, $75, $07, $E8, $80, $EB, $FF, $FF, $EB, $33, $8B, $D3, $8B, $C7, $8B, $CE, + $E8, $77, $E4, $FF, $FF, $53, $E8, $65, $F8, $FF, $FF, $C6, $45, $FF, $01, $33, + $C0, $5A, $59, $59, $64, $89, $10, $68, $4D, $48, $40, $00, $8B, $45, $F8, $50, + $E8, $DB, $F7, $FF, $FF, $C3, $E9, $E9, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45, + $FF, $5F, $5E, $5B, $59, $59, $5D, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56, + $8B, $F2, $8B, $D8, $C6, $45, $FF, $00, $8B, $C3, $E8, $C5, $F2, $FF, $FF, $50, + $6A, $00, $6A, $02, $E8, $07, $F8, $FF, $FF, $89, $45, $F8, $83, $7D, $F8, $00, + $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33, $C0, $55, $68, $DF, $48, $40, $00, + $64, $FF, $30, $64, $89, $20, $56, $6A, $00, $6A, $00, $6A, $02, $8B, $45, $F8, + $50, $E8, $D2, $F7, $FF, $FF, $8B, $D8, $85, $DB, $75, $07, $E8, $E7, $EA, $FF, + $FF, $EB, $33, $8B, $C3, $33, $C9, $8B, $D6, $E8, $36, $E5, $FF, $FF, $53, $E8, + $CC, $F7, $FF, $FF, $C6, $45, $FF, $01, $33, $C0, $5A, $59, $59, $64, $89, $10, + $68, $E6, $48, $40, $00, $8B, $45, $F8, $50, $E8, $42, $F7, $FF, $FF, $C3, $E9, + $50, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45, $FF, $5E, $5B, $59, $59, $5D, $C3, + $55, $8B, $EC, $33, $C0, $55, $68, $21, $49, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $F4, $A7, $40, $00, $75, $0A, $B8, $E0, $7C, $40, $00, $E8, $CD, + $EF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $28, $49, $40, $00, + $C3, $E9, $0E, $E9, $FF, $FF, $EB, $F8, $5D, $C3, $8B, $C0, $FF, $25, $00, $A8, + $40, $00, $C3, $90, $FF, $25, $04, $A8, $40, $00, $C3, $90, $55, $8B, $EC, $6A, + $00, $53, $33, $C0, $55, $68, $FC, $49, $40, $00, $64, $FF, $30, $64, $89, $20, + $8D, $45, $FC, $BA, $04, $01, $00, $00, $E8, $6F, $F3, $FF, $FF, $68, $04, $01, + $00, $00, $8B, $45, $FC, $E8, $CA, $F1, $FF, $FF, $50, $E8, $F0, $F6, $FF, $FF, + $8B, $D8, $8D, $45, $FC, $8B, $D3, $E8, $50, $F3, $FF, $FF, $8B, $45, $FC, $80, + $7C, $18, $FF, $5C, $74, $0D, $8D, $45, $FC, $BA, $10, $4A, $40, $00, $E8, $69, + $F0, $FF, $FF, $8D, $45, $FC, $BA, $1C, $4A, $40, $00, $E8, $5C, $F0, $FF, $FF, + $8B, $45, $FC, $E8, $8C, $F1, $FF, $FF, $50, $E8, $C2, $F6, $FF, $FF, $A3, $FC, + $A7, $40, $00, $83, $3D, $FC, $A7, $40, $00, $00, $76, $2A, $68, $2C, $4A, $40, + $00, $A1, $FC, $A7, $40, $00, $50, $E8, $8C, $F6, $FF, $FF, $A3, $00, $A8, $40, + $00, $68, $40, $4A, $40, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $77, $F6, $FF, + $FF, $A3, $04, $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $03, + $4A, $40, $00, $8D, $45, $FC, $E8, $E5, $EE, $FF, $FF, $C3, $E9, $33, $E8, $FF, + $FF, $EB, $F0, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00, + $5C, $00, $00, $00, $FF, $FF, $FF, $FF, $0C, $00, $00, $00, $73, $68, $66, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $48, $47, $65, + $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $00, $00, $00, + $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, + $00, $00, $00, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $C9, $F5, $FF, $FF, $C3, + $55, $8B, $EC, $33, $C0, $55, $68, $8C, $4A, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $F8, $A7, $40, $00, $75, $05, $E8, $D6, $FF, $FF, $FF, $33, $C0, + $5A, $59, $59, $64, $89, $10, $68, $93, $4A, $40, $00, $C3, $E9, $A3, $E7, $FF, + $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $83, $C4, $EC, $53, $56, + $89, $45, $FC, $E8, $90, $F5, $FF, $FF, $8B, $F0, $B8, $0E, $00, $00, $00, $BA, + $F4, $7C, $40, $00, $8D, $4D, $EE, $0F, $B6, $1A, $88, $19, $41, $42, $48, $75, + $F6, $33, $C0, $8B, $C8, $03, $C9, $03, $C9, $8B, $D6, $D3, $EA, $83, $E2, $0F, + $0F, $B6, $92, $E4, $7C, $40, $00, $B9, $0D, $00, $00, $00, $2B, $C8, $88, $54, + $0D, $EE, $40, $83, $F8, $08, $75, $DB, $8B, $45, $FC, $8D, $55, $EE, $B9, $0E, + $00, $00, $00, $E8, $EC, $EE, $FF, $FF, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0, + $55, $8B, $EC, $83, $C4, $F8, $53, $56, $33, $D2, $89, $55, $FC, $8B, $D8, $33, + $C0, $55, $68, $75, $4B, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $F6, $85, + $DB, $74, $3C, $8D, $45, $F8, $50, $53, $E8, $AB, $F5, $FF, $FF, $85, $C0, $74, + $2E, $E8, $02, $F5, $FF, $FF, $3B, $45, $F8, $75, $24, $8D, $45, $FC, $E8, $55, + $FF, $FF, $FF, $8B, $45, $FC, $E8, $E9, $EF, $FF, $FF, $50, $E8, $17, $F5, $FF, + $FF, $8B, $F0, $0F, $B7, $C6, $50, $53, $E8, $63, $F5, $FF, $FF, $8B, $F0, $33, + $C0, $5A, $59, $59, $64, $89, $10, $68, $7C, $4B, $40, $00, $8D, $45, $FC, $E8, + $6C, $ED, $FF, $FF, $C3, $E9, $BA, $E6, $FF, $FF, $EB, $F0, $8B, $C6, $5E, $5B, + $59, $59, $5D, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, + $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $18, $F5, $FF, $FF, + $8B, $C8, $8B, $D4, $8B, $C6, $E8, $F9, $ED, $FF, $FF, $81, $C4, $08, $01, $00, + $00, $5E, $5B, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, + $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $00, $F5, $FF, $FF, + $8B, $C8, $8B, $D4, $8B, $C6, $E8, $C9, $ED, $FF, $FF, $81, $C4, $08, $01, $00, + $00, $5E, $5B, $C3, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $5D, $08, $33, $C0, + $55, $68, $69, $4C, $40, $00, $64, $FF, $30, $64, $89, $20, $83, $CE, $FF, $8D, + $55, $FC, $8B, $C3, $E8, $7B, $FF, $FF, $FF, $BA, $84, $4C, $40, $00, $8B, $45, + $FC, $E8, $22, $FA, $FF, $FF, $84, $C0, $74, $22, $83, $3D, $10, $A8, $40, $00, + $00, $75, $08, $89, $1D, $10, $A8, $40, $00, $EB, $28, $83, $3D, $14, $A8, $40, + $00, $00, $75, $1F, $89, $1D, $14, $A8, $40, $00, $EB, $17, $BA, $94, $4C, $40, + $00, $8B, $45, $FC, $E8, $EF, $F9, $FF, $FF, $84, $C0, $74, $06, $89, $1D, $18, + $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $70, $4C, $40, $00, + $8D, $45, $FC, $E8, $78, $EC, $FF, $FF, $C3, $E9, $C6, $E5, $FF, $FF, $EB, $F0, + $8B, $C6, $5E, $5B, $59, $5D, $C2, $08, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $05, $00, $00, $00, $54, $45, $64, $69, $74, $00, $00, $00, $FF, $FF, $FF, $FF, + $05, $00, $00, $00, $54, $4D, $65, $6D, $6F, $00, $00, $00, $55, $8B, $EC, $83, + $C4, $E0, $6A, $00, $68, $E4, $4B, $40, $00, $8B, $45, $08, $8B, $40, $08, $50, + $E8, $FB, $F3, $FF, $FF, $83, $3D, $10, $A8, $40, $00, $00, $74, $09, $83, $3D, + $14, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $84, $C0, $74, + $5D, $8D, $45, $F0, $50, $A1, $10, $A8, $40, $00, $50, $E8, $E8, $F3, $FF, $FF, + $8D, $45, $E0, $50, $A1, $14, $A8, $40, $00, $50, $E8, $D9, $F3, $FF, $FF, $8B, + $45, $E4, $3B, $45, $F4, $7D, $16, $A1, $14, $A8, $40, $00, $8B, $15, $10, $A8, + $40, $00, $89, $15, $14, $A8, $40, $00, $A3, $10, $A8, $40, $00, $83, $3D, $10, + $A8, $40, $00, $00, $74, $12, $83, $3D, $14, $A8, $40, $00, $00, $74, $09, $83, + $3D, $18, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $8B, $E5, + $5D, $C3, $8B, $C0, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $F0, $33, $C0, $55, + $68, $9F, $4D, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $FC, $B8, $B4, + $4D, $40, $00, $E8, $BC, $F9, $FF, $FF, $83, $7D, $FC, $00, $74, $2B, $BA, $00, + $04, $00, $00, $8B, $45, $FC, $E8, $ED, $FA, $FF, $FF, $8B, $DE, $85, $DB, $74, + $05, $83, $EB, $04, $8B, $1B, $8B, $C6, $E8, $B7, $ED, $FF, $FF, $8B, $D0, $8B, + $CB, $8B, $45, $FC, $E8, $33, $FA, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, + $10, $68, $A6, $4D, $40, $00, $8D, $45, $FC, $E8, $42, $EB, $FF, $FF, $C3, $E9, + $90, $E4, $FF, $FF, $EB, $F0, $5E, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF, + $07, $00, $00, $00, $4D, $65, $6D, $46, $69, $6C, $65, $00, $55, $8B, $EC, $53, + $8B, $D8, $53, $8B, $45, $08, $8B, $40, $08, $50, $FF, $15, $0C, $A8, $40, $00, + $8B, $55, $08, $89, $42, $FC, $5B, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33, + $C9, $51, $51, $51, $51, $51, $53, $56, $57, $33, $C0, $55, $68, $83, $4F, $40, + $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8, $8B, $45, $08, $E8, $82, $FD, + $FF, $FF, $BA, $A0, $4F, $40, $00, $8B, $45, $F8, $E8, $29, $F8, $FF, $FF, $84, + $C0, $75, $22, $BA, $BC, $4F, $40, $00, $8B, $45, $F8, $E8, $18, $F8, $FF, $FF, + $84, $C0, $75, $11, $BA, $D8, $4F, $40, $00, $8B, $45, $F8, $E8, $07, $F8, $FF, + $FF, $84, $C0, $74, $1E, $55, $33, $C0, $E8, $7F, $FF, $FF, $FF, $59, $68, $BB, + $07, $00, $00, $E8, $E8, $F1, $FF, $FF, $50, $E8, $3A, $F2, $FF, $FF, $E9, $15, + $01, $00, $00, $BA, $F4, $4F, $40, $00, $8B, $45, $F8, $E8, $D8, $F7, $FF, $FF, + $84, $C0, $74, $49, $8D, $55, $F8, $8B, $45, $08, $E8, $45, $FD, $FF, $FF, $8B, + $45, $F8, $BA, $04, $50, $40, $00, $E8, $60, $EC, $FF, $FF, $75, $20, $55, $33, + $C0, $E8, $36, $FF, $FF, $FF, $59, $6A, $00, $6A, $06, $68, $11, $01, $00, $00, + $8B, $45, $08, $50, $E8, $47, $F2, $FF, $FF, $E9, $CA, $00, $00, $00, $55, $8B, + $45, $0C, $E8, $15, $FF, $FF, $FF, $59, $E9, $BB, $00, $00, $00, $BA, $20, $50, + $40, $00, $8B, $45, $F8, $E8, $7E, $F7, $FF, $FF, $84, $C0, $0F, $84, $9C, $00, + $00, $00, $55, $33, $C0, $E8, $F2, $FE, $FF, $FF, $59, $8B, $45, $08, $E8, $2D, + $FC, $FF, $FF, $8B, $D8, $8B, $C3, $E8, $C4, $E0, $FF, $FF, $8B, $F0, $BA, $2C, + $50, $40, $00, $8B, $C6, $E8, $DE, $E0, $FF, $FF, $89, $C7, $33, $D2, $8B, $C3, + $FF, $D7, $55, $E8, $A4, $FD, $FF, $FF, $59, $84, $C0, $74, $6B, $8D, $55, $F4, + $A1, $10, $A8, $40, $00, $E8, $AA, $FC, $FF, $FF, $8D, $55, $F0, $A1, $14, $A8, + $40, $00, $E8, $9D, $FC, $FF, $FF, $8D, $55, $EC, $A1, $18, $A8, $40, $00, $E8, + $90, $FC, $FF, $FF, $FF, $75, $F4, $68, $44, $50, $40, $00, $FF, $75, $F0, $68, + $44, $50, $40, $00, $FF, $75, $EC, $8D, $45, $F8, $BA, $05, $00, $00, $00, $E8, + $04, $EB, $FF, $FF, $8B, $45, $F8, $E8, $E8, $FD, $FF, $FF, $68, $BB, $07, $00, + $00, $E8, $DA, $F0, $FF, $FF, $50, $E8, $2C, $F1, $FF, $FF, $EB, $0A, $55, $8B, + $45, $0C, $E8, $55, $FE, $FF, $FF, $59, $33, $C0, $5A, $59, $59, $64, $89, $10, + $68, $8A, $4F, $40, $00, $8D, $45, $EC, $BA, $04, $00, $00, $00, $E8, $82, $E9, + $FF, $FF, $C3, $E9, $AC, $E2, $FF, $FF, $EB, $EB, $8B, $45, $FC, $5F, $5E, $5B, + $8B, $E5, $5D, $C2, $08, $00, $00, $00, $FF, $FF, $FF, $FF, $10, $00, $00, $00, + $54, $54, $72, $69, $61, $6C, $57, $69, $7A, $61, $72, $64, $46, $6F, $72, $6D, + $00, $00, $00, $00, $FF, $FF, $FF, $FF, $12, $00, $00, $00, $54, $41, $64, $76, + $61, $6E, $63, $65, $64, $4C, $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00, + $FF, $FF, $FF, $FF, $10, $00, $00, $00, $54, $53, $69, $6D, $70, $6C, $65, $4C, + $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $06, $00, $00, $00, $23, $33, $32, $37, $37, $30, $00, $00, $FF, $FF, $FF, $FF, + $11, $00, $00, $00, $52, $61, $64, $20, $53, $74, $75, $64, $69, $6F, $20, $4B, + $65, $79, $67, $65, $6E, $00, $00, $00, $FF, $FF, $FF, $FF, $08, $00, $00, $00, + $54, $46, $72, $6D, $4D, $61, $69, $6E, $00, $00, $00, $00, $0C, $42, $75, $74, + $74, $6F, $6E, $31, $43, $6C, $69, $63, $6B, $00, $00, $00, $FF, $FF, $FF, $FF, + $01, $00, $00, $00, $2C, $00, $00, $00, $55, $8B, $EC, $6A, $00, $6A, $00, $33, + $C0, $55, $68, $EF, $50, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8, + $33, $C0, $E8, $19, $F7, $FF, $FF, $8B, $45, $F8, $8D, $55, $FC, $E8, $6A, $F6, + $FF, $FF, $BA, $04, $51, $40, $00, $8B, $45, $FC, $E8, $B9, $F5, $FF, $FF, $84, + $C0, $75, $11, $BA, $20, $51, $40, $00, $8B, $45, $FC, $E8, $A8, $F5, $FF, $FF, + $84, $C0, $74, $40, $8D, $55, $FC, $B8, $3C, $51, $40, $00, $E8, $73, $F6, $FF, + $FF, $8B, $45, $FC, $BA, $50, $51, $40, $00, $E8, $2E, $EA, $FF, $FF, $75, $24, + $68, $58, $51, $40, $00, $E8, $96, $EF, $FF, $FF, $68, $64, $51, $40, $00, $50, + $E8, $93, $EF, $FF, $FF, $B9, $0C, $A8, $40, $00, $BA, $DC, $4D, $40, $00, $E8, + $70, $F3, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $F6, $50, $40, + $00, $8D, $45, $F8, $BA, $02, $00, $00, $00, $E8, $16, $E8, $FF, $FF, $C3, $E9, + $40, $E1, $FF, $FF, $EB, $EB, $59, $59, $5D, $C3, $00, $00, $FF, $FF, $FF, $FF, + $12, $00, $00, $00, $4C, $69, $63, $65, $6E, $73, $65, $4D, $61, $6E, $61, $67, + $65, $72, $2E, $65, $78, $65, $00, $00, $FF, $FF, $FF, $FF, $13, $00, $00, $00, + $52, $61, $64, $53, $74, $75, $64, $69, $6F, $4B, $65, $79, $67, $65, $6E, $2E, + $65, $78, $65, $00, $FF, $FF, $FF, $FF, $0B, $00, $00, $00, $53, $45, $53, $53, + $49, $4F, $4E, $4E, $41, $4D, $45, $00, $FF, $FF, $FF, $FF, $07, $00, $00, $00, + $43, $6F, $6E, $73, $6F, $31, $65, $00, $75, $73, $65, $72, $33, $32, $2E, $64, + $6C, $6C, $00, $00, $53, $68, $6F, $77, $57, $69, $6E, $64, $6F, $77, $00, $00, + $A1, $0C, $A8, $40, $00, $85, $C0, $74, $05, $E8, $86, $F3, $FF, $FF, $C3, $90, + $55, $8B, $EC, $33, $C0, $55, $68, $AC, $51, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $08, $A8, $40, $00, $75, $05, $E8, $D2, $FF, $FF, $FF, $33, $C0, + $5A, $59, $59, $64, $89, $10, $68, $B3, $51, $40, $00, $C3, $E9, $83, $E0, $FF, + $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33, $C0, $55, $68, $D7, + $51, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $C0, $5A, $59, $59, $64, $89, + $10, $68, $DE, $51, $40, $00, $C3, $E9, $58, $E0, $FF, $FF, $EB, $F8, $5D, $C3, + $0C, $00, $00, $00, $E8, $51, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $60, $40, $00, $1C, $3E, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $98, $60, $40, $00, $F0, $40, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $AC, $60, $40, $00, $F0, $48, $40, $00, + $B4, $60, $40, $00, $60, $4A, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $C4, $60, $40, $00, $80, $51, $40, $00, + $00, $00, $00, $00, $B8, $51, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $83, $2D, $A0, $85, $40, $00, $01, $0F, $83, $87, $00, $00, $00, $E8, $86, $C9, + $FF, $FF, $C6, $05, $08, $70, $40, $00, $02, $C7, $05, $10, $80, $40, $00, $08, + $10, $40, $00, $C7, $05, $14, $80, $40, $00, $10, $10, $40, $00, $C6, $05, $36, + $80, $40, $00, $02, $C7, $05, $00, $80, $40, $00, $30, $3D, $40, $00, $E8, $55, + $CE, $FF, $FF, $84, $C0, $74, $05, $E8, $7C, $CE, $FF, $FF, $E8, $3B, $CF, $FF, + $FF, $66, $C7, $05, $3C, $80, $40, $00, $B0, $D7, $66, $C7, $05, $08, $82, $40, + $00, $B0, $D7, $66, $C7, $05, $D4, $83, $40, $00, $B0, $D7, $E8, $CF, $AF, $FF, + $FF, $A3, $2C, $80, $40, $00, $E8, $FD, $AF, $FF, $FF, $A3, $28, $80, $40, $00, + $E8, $8F, $DD, $FF, $FF, $A3, $A4, $85, $40, $00, $E8, $E1, $AF, $FF, $FF, $A3, + $20, $80, $40, $00, $C3, $8D, $40, $00, $83, $2D, $EC, $A7, $40, $00, $01, $73, + $07, $33, $C0, $A3, $F0, $A7, $40, $00, $C3, $8D, $40, $00, $83, $2D, $F4, $A7, + $40, $00, $01, $C3, $83, $2D, $F8, $A7, $40, $00, $01, $73, $05, $E8, $7A, $E8, + $FF, $FF, $C3, $90, $83, $2D, $08, $A8, $40, $00, $01, $73, $05, $E8, $76, $EF, + $FF, $FF, $C3, $90, $55, $8B, $EC, $83, $C4, $C4, $B8, $E0, $51, $40, $00, $E8, + $F4, $DE, $FF, $FF, $E8, $03, $D7, $FF, $FF, $8D, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $02, $8D, $40, $00, $32, $13, $8B, $C0, + $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $C4, $10, $40, $00, $00, $00, $10, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $24, $11, $40, $00, $00, $00, $18, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $38, $11, $40, $00, $00, $00, $20, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $58, $11, $40, $00, $00, $00, $28, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $84, $11, $40, $00, $00, $00, $30, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $A4, $11, $40, $00, $00, $00, $38, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $C8, $11, $40, $00, $00, $00, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $F4, $11, $40, $00, $00, $00, $48, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $24, $12, $40, $00, $00, $00, $50, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $58, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $68, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $78, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $88, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $98, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $B0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $D0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $05, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $05, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $06, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $07, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $07, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $08, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $50, $09, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $C8, $16, $40, $00, $4C, $1A, $40, $00, + $44, $1C, $40, $00, $5C, $1F, $40, $00, $F8, $22, $40, $00, $38, $23, $40, $00, + $00, $CB, $CC, $C8, $C9, $D7, $CF, $C8, $CD, $CE, $DB, $D8, $DA, $D9, $CA, $DC, + $DD, $DE, $DF, $E0, $E1, $E3, $00, $E4, $E5, $8D, $40, $00, $45, $72, $72, $6F, + $72, $00, $8B, $C0, $52, $75, $6E, $74, $69, $6D, $65, $20, $65, $72, $72, $6F, + $72, $20, $20, $20, $20, $20, $61, $74, $20, $30, $30, $30, $30, $30, $30, $30, + $30, $00, $8B, $C0, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42, + $43, $44, $45, $46, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $68, $3F, $40, $00, $04, $3F, $40, $00, $C0, $3E, $40, $00, $30, $3F, $40, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $02, $E4, $02, $11, $00, $E4, $00, $01, $04, $42, $0C, $00, $00, $00, $80, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $00, $00, $00, $80, $E4, $00, $1A, $42, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $0C, $E4, $2C, $00, $04, $E4, $24, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, + $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, + $10, $05, $A0, $0D, $10, $05, $A0, $05, $11, $02, $E4, $02, $11, $A2, $E4, $A2, + $11, $42, $E4, $42, $11, $20, $E4, $20, $E3, $42, $E4, $20, $E3, $00, $A0, $01, + $00, $00, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, + $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, + $01, $81, $42, $81, $01, $03, $42, $03, $00, $00, $00, $00, $00, $00, $00, $00, + $01, $04, $42, $0C, $00, $00, $00, $00, $00, $80, $00, $80, $00, $00, $00, $00, + $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, + $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, + $10, $45, $A0, $45, $00, $08, $00, $00, $E4, $20, $E4, $20, $10, $45, $A0, $4D, + $00, $00, $00, $00, $00, $08, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, + $10, $41, $A0, $41, $10, $41, $A0, $41, $00, $84, $00, $84, $00, $00, $00, $80, + $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, + $00, $14, $00, $14, $00, $14, $00, $14, $01, $84, $42, $84, $01, $06, $42, $06, + $00, $1C, $00, $1C, $00, $00, $00, $14, $07, $80, $47, $80, $07, $02, $47, $02, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $08, $00, $08, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $41, $A0, $01, + $18, $01, $20, $01, $E4, $20, $E4, $20, $FF, $FF, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $10, $01, $00, $00, $2D, $05, + $3F, $00, $3F, $02, $3F, $00, $3F, $02, $3F, $00, $3F, $00, $3F, $00, $3F, $02, + $10, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $23, $40, $23, $40, $23, $02, $23, $02, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $3F, $00, $3F, $02, $2F, $00, $3F, $02, $3D, $00, $3D, $00, $3F, $00, $3F, $00, + $00, $00, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, + $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, + $27, $42, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, + $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $65, $00, $ED, $00, + $ED, $04, $A8, $04, $A8, $04, $A8, $04, $ED, $00, $ED, $00, $ED, $00, $00, $00, + $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $65, $02, $ED, $02, + $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, + $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, + $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, + $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, + $00, $00, $00, $00, $00, $80, $E4, $02, $E4, $47, $E4, $43, $11, $C2, $E4, $C2, + $00, $00, $00, $00, $00, $00, $E4, $42, $E4, $47, $E4, $43, $20, $00, $E4, $20, + $11, $C2, $E4, $C2, $E4, $20, $E4, $42, $E4, $20, $E4, $22, $54, $21, $1C, $21, + $FF, $FF, $FF, $FF, $A0, $05, $E4, $42, $E4, $20, $E4, $20, $54, $21, $1C, $21, + $11, $A2, $E4, $A2, $3F, $04, $24, $02, $65, $04, $AC, $24, $3F, $04, $28, $81, + $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, + $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $02, $AC, $20, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $3F, $00, $ED, $02, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $00, $00, + $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81, + $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81, + $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81, + $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81, + $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, + $36, $00, $36, $00, $30, $00, $30, $00, $36, $00, $36, $00, $36, $00, $36, $00, + $20, $01, $FF, $FF, $20, $01, $20, $01, $10, $01, $18, $01, $10, $01, $18, $01, + $30, $00, $30, $00, $00, $00, $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, + $36, $00, $36, $00, $36, $00, $36, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $FF, + $20, $01, $FF, $FF, $20, $01, $20, $01, $FF, $FF, $30, $01, $FF, $FF, $30, $01, + $36, $00, $36, $00, $36, $00, $36, $00, $00, $00, $36, $00, $36, $00, $00, $00, + $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, + $36, $02, $36, $02, $30, $00, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02, + $28, $01, $FF, $FF, $28, $01, $28, $01, $10, $01, $FF, $FF, $10, $01, $18, $01, + $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $FF, $FF, $FF, $FF, + $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, + $36, $02, $36, $02, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02, $36, $02, + $18, $01, $FF, $FF, $18, $01, $18, $01, $30, $01, $28, $01, $30, $01, $28, $01, + $30, $00, $30, $00, $30, $00, $30, $00, $00, $00, $36, $00, $36, $00, $FF, $FF, + $B8, $47, $40, $00, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42, + $43, $44, $45, $46, $44, $65, $6C, $70, $68, $69, $30, $30, $30, $30, $30, $30, + $30, $30, $8B, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $8C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $5C, $B2, $00, $00, + $74, $B1, $00, $00, $9C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $9C, $B2, $00, $00, $84, $B1, $00, $00, $AC, $B0, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $D8, $B2, $00, $00, $94, $B1, $00, $00, $EC, $B0, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $D2, $B3, $00, $00, $D4, $B1, $00, $00, + $08, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $2C, $B4, $00, $00, + $F0, $B1, $00, $00, $28, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $B6, $B4, $00, $00, $10, $B2, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $6A, $B2, $00, $00, + $7E, $B2, $00, $00, $8E, $B2, $00, $00, $00, $00, $00, $00, $A8, $B2, $00, $00, + $BA, $B2, $00, $00, $CA, $B2, $00, $00, $00, $00, $00, $00, $E6, $B2, $00, $00, + $F0, $B2, $00, $00, $F8, $B2, $00, $00, $06, $B3, $00, $00, $16, $B3, $00, $00, + $2C, $B3, $00, $00, $3C, $B3, $00, $00, $4E, $B3, $00, $00, $60, $B3, $00, $00, + $6E, $B3, $00, $00, $7C, $B3, $00, $00, $88, $B3, $00, $00, $A4, $B3, $00, $00, + $B0, $B3, $00, $00, $C2, $B3, $00, $00, $00, $00, $00, $00, $E0, $B3, $00, $00, + $EE, $B3, $00, $00, $FC, $B3, $00, $00, $06, $B4, $00, $00, $12, $B4, $00, $00, + $1E, $B4, $00, $00, $00, $00, $00, $00, $38, $B4, $00, $00, $48, $B4, $00, $00, + $64, $B4, $00, $00, $76, $B4, $00, $00, $86, $B4, $00, $00, $92, $B4, $00, $00, + $A2, $B4, $00, $00, $00, $00, $00, $00, $C4, $B4, $00, $00, $D6, $B4, $00, $00, + $E4, $B4, $00, $00, $F4, $B4, $00, $00, $06, $B5, $00, $00, $1A, $B5, $00, $00, + $2E, $B5, $00, $00, $3E, $B5, $00, $00, $4E, $B5, $00, $00, $60, $B5, $00, $00, + $76, $B5, $00, $00, $88, $B5, $00, $00, $9C, $B5, $00, $00, $B2, $B5, $00, $00, + $CC, $B5, $00, $00, $E2, $B5, $00, $00, $F6, $B5, $00, $00, $04, $B6, $00, $00, + $00, $00, $00, $00, $6A, $B2, $00, $00, $7E, $B2, $00, $00, $8E, $B2, $00, $00, + $00, $00, $00, $00, $A8, $B2, $00, $00, $BA, $B2, $00, $00, $CA, $B2, $00, $00, + $00, $00, $00, $00, $E6, $B2, $00, $00, $F0, $B2, $00, $00, $F8, $B2, $00, $00, + $06, $B3, $00, $00, $16, $B3, $00, $00, $2C, $B3, $00, $00, $3C, $B3, $00, $00, + $4E, $B3, $00, $00, $60, $B3, $00, $00, $6E, $B3, $00, $00, $7C, $B3, $00, $00, + $88, $B3, $00, $00, $A4, $B3, $00, $00, $B0, $B3, $00, $00, $C2, $B3, $00, $00, + $00, $00, $00, $00, $E0, $B3, $00, $00, $EE, $B3, $00, $00, $FC, $B3, $00, $00, + $06, $B4, $00, $00, $12, $B4, $00, $00, $1E, $B4, $00, $00, $00, $00, $00, $00, + $38, $B4, $00, $00, $48, $B4, $00, $00, $64, $B4, $00, $00, $76, $B4, $00, $00, + $86, $B4, $00, $00, $92, $B4, $00, $00, $A2, $B4, $00, $00, $00, $00, $00, $00, + $C4, $B4, $00, $00, $D6, $B4, $00, $00, $E4, $B4, $00, $00, $F4, $B4, $00, $00, + $06, $B5, $00, $00, $1A, $B5, $00, $00, $2E, $B5, $00, $00, $3E, $B5, $00, $00, + $4E, $B5, $00, $00, $60, $B5, $00, $00, $76, $B5, $00, $00, $88, $B5, $00, $00, + $9C, $B5, $00, $00, $B2, $B5, $00, $00, $CC, $B5, $00, $00, $E2, $B5, $00, $00, + $F6, $B5, $00, $00, $04, $B6, $00, $00, $00, $00, $00, $00, $61, $64, $76, $61, + $70, $69, $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $52, $65, $67, $51, + $75, $65, $72, $79, $56, $61, $6C, $75, $65, $45, $78, $41, $00, $00, $00, $00, + $52, $65, $67, $4F, $70, $65, $6E, $4B, $65, $79, $45, $78, $41, $00, $00, $00, + $52, $65, $67, $43, $6C, $6F, $73, $65, $4B, $65, $79, $00, $75, $73, $65, $72, + $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $4B, $65, $79, + $62, $6F, $61, $72, $64, $54, $79, $70, $65, $00, $00, $00, $44, $65, $73, $74, + $72, $6F, $79, $57, $69, $6E, $64, $6F, $77, $00, $00, $00, $4D, $65, $73, $73, + $61, $67, $65, $42, $6F, $78, $41, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, + $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $41, $43, $50, $00, $00, + $00, $00, $53, $6C, $65, $65, $70, $00, $00, $00, $56, $69, $72, $74, $75, $61, + $6C, $46, $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41, + $6C, $6C, $6F, $63, $00, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65, + $6E, $74, $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $00, $00, $56, $69, + $72, $74, $75, $61, $6C, $51, $75, $65, $72, $79, $00, $00, $00, $00, $47, $65, + $74, $53, $74, $61, $72, $74, $75, $70, $49, $6E, $66, $6F, $41, $00, $00, $00, + $47, $65, $74, $43, $6F, $6D, $6D, $61, $6E, $64, $4C, $69, $6E, $65, $41, $00, + $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72, $61, $72, $79, $00, $00, $00, + $45, $78, $69, $74, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $57, $72, + $69, $74, $65, $46, $69, $6C, $65, $00, $00, $00, $55, $6E, $68, $61, $6E, $64, + $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, + $65, $72, $00, $00, $00, $00, $52, $74, $6C, $55, $6E, $77, $69, $6E, $64, $00, + $00, $00, $52, $61, $69, $73, $65, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, + $00, $00, $00, $00, $47, $65, $74, $53, $74, $64, $48, $61, $6E, $64, $6C, $65, + $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64, $6C, $6C, $00, $00, + $00, $00, $54, $6C, $73, $53, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00, + $54, $6C, $73, $47, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00, $54, $6C, + $73, $46, $72, $65, $65, $00, $00, $00, $54, $6C, $73, $41, $6C, $6C, $6F, $63, + $00, $00, $00, $00, $4C, $6F, $63, $61, $6C, $46, $72, $65, $65, $00, $00, $00, + $4C, $6F, $63, $61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $75, $73, $65, $72, + $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $65, $6E, $64, $4D, $65, + $73, $73, $61, $67, $65, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, + $64, $6F, $77, $54, $68, $72, $65, $61, $64, $50, $72, $6F, $63, $65, $73, $73, + $49, $64, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F, $77, $54, + $65, $78, $74, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F, + $77, $52, $65, $63, $74, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $70, $41, + $00, $00, $00, $00, $47, $65, $74, $43, $6C, $61, $73, $73, $4E, $61, $6D, $65, + $41, $00, $00, $00, $45, $6E, $75, $6D, $43, $68, $69, $6C, $64, $57, $69, $6E, + $64, $6F, $77, $73, $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64, + $6C, $6C, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $50, $72, $6F, + $74, $65, $63, $74, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $46, + $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41, $6C, $6C, + $6F, $63, $00, $00, $00, $00, $55, $6E, $6D, $61, $70, $56, $69, $65, $77, $4F, + $66, $46, $69, $6C, $65, $00, $00, $00, $54, $65, $72, $6D, $69, $6E, $61, $74, + $65, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $00, $4F, $70, $65, $6E, + $46, $69, $6C, $65, $4D, $61, $70, $70, $69, $6E, $67, $41, $00, $00, $00, $00, + $4D, $61, $70, $56, $69, $65, $77, $4F, $66, $46, $69, $6C, $65, $00, $00, $00, + $4C, $6F, $61, $64, $4C, $69, $62, $72, $61, $72, $79, $41, $00, $00, $00, $00, + $47, $6C, $6F, $62, $61, $6C, $46, $69, $6E, $64, $41, $74, $6F, $6D, $41, $00, + $00, $00, $47, $65, $74, $53, $79, $73, $74, $65, $6D, $44, $69, $72, $65, $63, + $74, $6F, $72, $79, $41, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, + $64, $64, $72, $65, $73, $73, $00, $00, $00, $00, $47, $65, $74, $4D, $6F, $64, + $75, $6C, $65, $48, $61, $6E, $64, $6C, $65, $41, $00, $00, $00, $00, $47, $65, + $74, $4D, $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $41, + $00, $00, $00, $00, $47, $65, $74, $45, $6E, $76, $69, $72, $6F, $6E, $6D, $65, + $6E, $74, $56, $61, $72, $69, $61, $62, $6C, $65, $41, $00, $00, $00, $47, $65, + $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, + $64, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, + $6F, $63, $65, $73, $73, $00, $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72, + $61, $72, $79, $00, $00, $00, $43, $6C, $6F, $73, $65, $48, $61, $6E, $64, $6C, + $65, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3C, $C0, $00, $00, + $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $28, $C0, $00, $00, + $30, $C0, $00, $00, $38, $C0, $00, $00, $34, $49, $00, $00, $2C, $49, $00, $00, + $49, $C0, $00, $00, $5A, $C0, $00, $00, $01, $00, $00, $00, $53, $48, $46, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F, + $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46, + $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $10, $00, $00, $E0, $00, $00, $00, $02, $30, $0A, $30, $12, $30, $1A, $30, + $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30, + $62, $30, $6A, $30, $72, $30, $9E, $30, $A6, $30, $AE, $30, $B6, $30, $BA, $32, + $D0, $32, $E1, $32, $04, $33, $1E, $33, $34, $33, $43, $33, $4A, $33, $55, $33, + $65, $33, $9A, $33, $A8, $33, $D5, $33, $DD, $33, $E2, $33, $07, $34, $10, $34, + $23, $34, $2E, $34, $39, $34, $48, $34, $61, $34, $B0, $34, $B6, $34, $BC, $34, + $C7, $34, $6C, $35, $D6, $36, $E5, $36, $EC, $36, $76, $37, $A0, $37, $B0, $37, + $BA, $37, $D1, $37, $E6, $37, $F9, $37, $06, $38, $23, $38, $2C, $38, $62, $38, + $6C, $38, $84, $38, $8A, $38, $A2, $38, $BA, $38, $F5, $38, $FF, $38, $16, $39, + $5E, $39, $7B, $39, $87, $39, $9A, $39, $A3, $39, $AA, $39, $B0, $39, $C5, $39, + $D1, $39, $EE, $39, $F7, $39, $35, $3A, $57, $3A, $BF, $3A, $D7, $3A, $11, $3B, + $1B, $3B, $32, $3B, $91, $3B, $CE, $3B, $E7, $3B, $18, $3C, $22, $3C, $28, $3C, + $3F, $3D, $4F, $3D, $59, $3D, $72, $3D, $D8, $3D, $27, $3E, $37, $3E, $41, $3E, + $5C, $3E, $EF, $3E, $FF, $3E, $B2, $3F, $BB, $3F, $CD, $3F, $D9, $3F, $E4, $3F, + $00, $20, $00, $00, $B0, $00, $00, $00, $86, $32, $91, $32, $A0, $32, $B9, $32, + $CC, $32, $E7, $32, $ED, $32, $05, $33, $12, $33, $1A, $33, $23, $33, $31, $33, + $3E, $33, $83, $33, $A3, $33, $30, $35, $BD, $35, $C9, $35, $08, $36, $3D, $36, + $5D, $36, $B4, $36, $0A, $37, $39, $37, $4E, $37, $F6, $37, $57, $38, $6D, $38, + $5B, $39, $61, $39, $7F, $39, $A1, $39, $AC, $39, $7C, $3A, $80, $3A, $86, $3A, + $8A, $3A, $94, $3A, $A7, $3A, $AB, $3A, $B1, $3A, $B5, $3A, $C5, $3A, $CA, $3A, + $EF, $3A, $1A, $3B, $52, $3B, $5A, $3B, $67, $3B, $6D, $3B, $7B, $3B, $8A, $3B, + $97, $3B, $AA, $3B, $C6, $3B, $E7, $3B, $00, $3C, $19, $3C, $2A, $3C, $3F, $3C, + $4C, $3C, $6C, $3C, $AD, $3C, $D4, $3C, $D8, $3C, $DC, $3C, $E0, $3C, $E4, $3C, + $E8, $3C, $EC, $3C, $F0, $3C, $F4, $3C, $DD, $3D, $48, $3E, $92, $3E, $D1, $3E, + $E1, $3E, $F7, $3E, $15, $3F, $2B, $3F, $43, $3F, $58, $3F, $91, $3F, $00, $00, + $00, $30, $00, $00, $04, $01, $00, $00, $1A, $30, $2E, $30, $36, $30, $4C, $30, + $64, $30, $72, $30, $A6, $30, $C2, $30, $CE, $30, $E2, $30, $EC, $30, $FF, $30, + $2F, $31, $5C, $31, $65, $31, $97, $31, $A0, $31, $D5, $31, $DC, $31, $FE, $31, + $4D, $32, $82, $32, $F3, $32, $1B, $33, $63, $34, $8B, $34, $92, $34, $AA, $34, + $CC, $34, $00, $35, $08, $35, $13, $35, $3F, $35, $49, $35, $54, $35, $65, $35, + $A4, $35, $BA, $35, $D1, $35, $08, $36, $18, $36, $1E, $36, $24, $36, $2A, $36, + $2F, $36, $35, $36, $3E, $36, $4E, $36, $53, $36, $58, $36, $5D, $36, $62, $36, + $70, $36, $7A, $36, $A5, $36, $AE, $36, $B5, $36, $D0, $36, $D8, $36, $04, $37, + $10, $37, $34, $37, $3E, $37, $63, $37, $6D, $37, $77, $37, $7F, $37, $85, $37, + $93, $37, $AE, $37, $C3, $37, $CD, $37, $D2, $37, $F1, $37, $F6, $37, $16, $38, + $2A, $38, $36, $38, $4F, $38, $99, $38, $A2, $38, $A7, $38, $C9, $38, $D6, $38, + $43, $3B, $45, $3D, $56, $3D, $96, $3D, $9D, $3D, $AF, $3D, $CD, $3D, $D6, $3D, + $E2, $3D, $E9, $3D, $16, $3E, $23, $3E, $2F, $3E, $36, $3E, $40, $3E, $4A, $3E, + $59, $3E, $6B, $3E, $7E, $3E, $86, $3E, $8E, $3E, $96, $3E, $9E, $3E, $A6, $3E, + $CE, $3E, $F8, $3E, $13, $3F, $1D, $3F, $28, $3F, $3B, $3F, $43, $3F, $5A, $3F, + $78, $3F, $80, $3F, $8E, $3F, $93, $3F, $AC, $3F, $BC, $3F, $CD, $3F, $D9, $3F, + $E7, $3F, $F1, $3F, $00, $40, $00, $00, $00, $01, $00, $00, $0F, $30, $14, $30, + $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30, + $62, $30, $6A, $30, $72, $30, $7A, $30, $82, $30, $8A, $30, $92, $30, $9A, $30, + $A2, $30, $AA, $30, $B2, $30, $BA, $30, $C2, $30, $CA, $30, $D2, $30, $DA, $30, + $E2, $30, $F7, $30, $03, $31, $0B, $31, $13, $31, $26, $31, $3F, $31, $BA, $31, + $CD, $31, $84, $32, $8B, $32, $AF, $32, $B3, $32, $B7, $32, $BB, $32, $BF, $32, + $C3, $32, $C7, $32, $CB, $32, $CF, $32, $D3, $32, $D7, $32, $4E, $33, $6B, $33, + $7F, $34, $15, $35, $73, $36, $BE, $36, $E6, $36, $F3, $37, $38, $38, $8C, $38, + $D1, $38, $F7, $38, $03, $39, $0A, $39, $1C, $39, $2E, $39, $36, $39, $46, $39, + $8A, $39, $97, $39, $AF, $39, $B5, $39, $BD, $39, $C2, $39, $CD, $39, $D2, $39, + $D7, $39, $E2, $39, $EF, $39, $55, $3A, $67, $3A, $73, $3A, $87, $3A, $B0, $3A, + $D3, $3A, $13, $3B, $68, $3B, $F2, $3B, $0A, $3C, $1C, $3C, $25, $3C, $2D, $3C, + $36, $3C, $3D, $3C, $4F, $3C, $5C, $3C, $A5, $3C, $B7, $3C, $C0, $3C, $D6, $3C, + $E5, $3C, $F8, $3C, $FE, $3C, $04, $3D, $09, $3D, $0F, $3D, $18, $3D, $21, $3D, + $41, $3D, $4F, $3D, $92, $3D, $CC, $3D, $ED, $3D, $03, $3E, $14, $3E, $25, $3E, + $54, $3E, $73, $3E, $AE, $3E, $DF, $3E, $01, $3F, $0E, $3F, $1B, $3F, $28, $3F, + $30, $3F, $71, $3F, $00, $50, $00, $00, $40, $00, $00, $00, $53, $30, $73, $30, + $84, $30, $98, $30, $A5, $30, $B1, $30, $BB, $30, $C6, $30, $CB, $30, $DD, $30, + $71, $31, $87, $31, $93, $31, $A7, $31, $BF, $31, $D2, $31, $E4, $31, $F0, $31, + $F4, $31, $00, $32, $04, $32, $18, $32, $1C, $32, $20, $32, $24, $32, $38, $32, + $3C, $32, $44, $32, $00, $60, $00, $00, $34, $00, $00, $00, $02, $30, $14, $30, + $1B, $30, $1F, $30, $25, $30, $29, $30, $2F, $30, $36, $30, $3A, $30, $54, $30, + $5D, $30, $66, $30, $72, $30, $7C, $30, $86, $30, $90, $30, $9A, $30, $A4, $30, + $AE, $30, $B6, $30, $C6, $30, $DB, $30, $00, $70, $00, $00, $30, $00, $00, $00, + $24, $30, $44, $30, $64, $30, $84, $30, $A4, $30, $C4, $30, $E4, $30, $04, $31, + $24, $31, $08, $37, $0C, $37, $10, $37, $14, $37, $18, $37, $1C, $37, $90, $37, + $94, $37, $98, $37, $9C, $37, $E0, $3C, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $04, $00, + $03, $00, $00, $00, $30, $00, $00, $80, $0A, $00, $00, $00, $48, $00, $00, $80, + $0E, $00, $00, $00, $68, $00, $00, $80, $10, $00, $00, $00, $80, $00, $00, $80, + $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $01, $00, $00, $00, $98, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E, + $00, $00, $00, $00, $02, $00, $00, $00, $60, $01, $00, $80, $B0, $00, $00, $80, + $6E, $01, $00, $80, $C8, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E, + $00, $00, $00, $00, $01, $00, $00, $00, $86, $01, $00, $80, $E0, $00, $00, $80, + $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $01, $00, $00, $00, $F8, $00, $00, $80, $00, $00, $00, $00, $1B, $0E, $F5, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $10, $01, $00, $00, + $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $00, $00, $00, $00, $20, $01, $00, $00, $00, $00, $00, $00, $1B, $0E, $F5, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $30, $01, $00, $00, + $00, $00, $00, $00, $1B, $0E, $F5, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $00, $00, $00, $00, $40, $01, $00, $00, $00, $00, $00, $00, $1B, $0E, $F5, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $09, $04, $00, $00, $50, $01, $00, $00, + $98, $E1, $00, $00, $28, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $C0, $E2, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $D0, $E2, $00, $00, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $60, $E3, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $74, $E3, $00, $00, $C0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $06, $00, $44, $00, $56, $00, $43, $00, $4C, $00, $41, $00, $4C, $00, $0B, $00, + $50, $00, $41, $00, $43, $00, $4B, $00, $41, $00, $47, $00, $45, $00, $49, $00, + $4E, $00, $46, $00, $4F, $00, $08, $00, $4D, $00, $41, $00, $49, $00, $4E, $00, + $49, $00, $43, $00, $4F, $00, $4E, $00, $28, $00, $00, $00, $10, $00, $00, $00, + $20, $00, $00, $00, $01, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $80, $00, $00, $80, $00, $00, $00, $80, $80, $00, + $80, $00, $00, $00, $80, $00, $80, $00, $80, $80, $00, $00, $C0, $C0, $C0, $00, + $80, $80, $80, $00, $00, $00, $FF, $00, $00, $FF, $00, $00, $00, $FF, $FF, $00, + $FF, $00, $00, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $FF, $FF, $FF, $0F, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $FF, $FF, $00, $00, $FF, $FF, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $07, $00, $00, $E0, $0F, $00, $00, $E0, $1F, $00, $00, $FF, $FF, $00, $00, + $26, $3D, $4F, $38, $C2, $82, $37, $B8, $F3, $24, $42, $03, $17, $9B, $3A, $83, + $00, $00, $10, $8C, $00, $00, $00, $00, $0C, $00, $00, $00, $01, $54, $53, $48, + $46, $6F, $6C, $64, $65, $72, $00, $1C, $4B, $57, $69, $6E, $64, $6F, $77, $73, + $00, $10, $55, $54, $79, $70, $65, $73, $00, $00, $81, $53, $79, $73, $49, $6E, + $69, $74, $00, $00, $C7, $53, $79, $73, $74, $65, $6D, $00, $00, $4E, $48, $65, + $6C, $70, $65, $72, $55, $74, $69, $6C, $73, $00, $00, $43, $57, $69, $6E, $64, + $6F, $77, $55, $74, $69, $6C, $73, $00, $00, $3F, $49, $70, $63, $55, $69, $6C, + $73, $00, $00, $15, $44, $65, $6C, $55, $74, $69, $6C, $73, $00, $00, $82, $41, + $70, $69, $55, $74, $69, $6C, $73, $00, $1C, $33, $4D, $65, $73, $73, $61, $67, + $65, $73, $00, $00, $CC, $53, $68, $65, $6C, $6C, $55, $74, $69, $6C, $73, $00, + $00, $00, $01, $00, $01, $00, $10, $10, $10, $00, $01, $00, $04, $00, $28, $01, + $00, $00, $01, $00, $C0, $01, $34, $00, $00, $00, $56, $00, $53, $00, $5F, $00, + $56, $00, $45, $00, $52, $00, $53, $00, $49, $00, $4F, $00, $4E, $00, $5F, $00, + $49, $00, $4E, $00, $46, $00, $4F, $00, $00, $00, $00, $00, $BD, $04, $EF, $FE, + $00, $00, $01, $00, $00, $00, $1A, $00, $C1, $19, $FF, $7F, $00, $00, $1A, $00, + $C1, $19, $FF, $7F, $3F, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, + $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $1E, $01, $00, $00, $00, $00, $53, $00, $74, $00, $72, $00, $69, $00, $6E, $00, + $67, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00, + $6F, $00, $00, $00, $FA, $00, $00, $00, $00, $00, $30, $00, $34, $00, $30, $00, + $39, $00, $30, $00, $34, $00, $45, $00, $34, $00, $00, $00, $2E, $00, $07, $00, + $01, $00, $43, $00, $6F, $00, $6D, $00, $70, $00, $61, $00, $6E, $00, $79, $00, + $4E, $00, $61, $00, $6D, $00, $65, $00, $00, $00, $00, $00, $4C, $00, $73, $00, + $75, $00, $70, $00, $65, $00, $72, $00, $00, $00, $00, $00, $40, $00, $10, $00, + $01, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $56, $00, $65, $00, $72, $00, + $73, $00, $69, $00, $6F, $00, $6E, $00, $00, $00, $00, $00, $32, $00, $36, $00, + $2E, $00, $30, $00, $2E, $00, $33, $00, $32, $00, $37, $00, $36, $00, $37, $00, + $2E, $00, $36, $00, $35, $00, $39, $00, $33, $00, $00, $00, $42, $00, $0D, $00, + $01, $00, $4F, $00, $72, $00, $69, $00, $67, $00, $69, $00, $6E, $00, $61, $00, + $6C, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $6E, $00, $61, $00, $6D, $00, + $65, $00, $00, $00, $53, $00, $48, $00, $46, $00, $6F, $00, $6C, $00, $64, $00, + $65, $00, $72, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00, + $2E, $00, $05, $00, $01, $00, $50, $00, $72, $00, $6F, $00, $64, $00, $75, $00, + $63, $00, $74, $00, $56, $00, $65, $00, $72, $00, $73, $00, $69, $00, $6F, $00, + $6E, $00, $00, $00, $32, $00, $36, $00, $2E, $00, $30, $00, $00, $00, $00, $00, + $44, $00, $00, $00, $00, $00, $56, $00, $61, $00, $72, $00, $46, $00, $69, $00, + $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00, $6F, $00, $00, $00, $00, $00, + $24, $00, $04, $00, $00, $00, $54, $00, $72, $00, $61, $00, $6E, $00, $73, $00, + $6C, $00, $61, $00, $74, $00, $69, $00, $6F, $00, $6E, $00, $00, $00, $00, $00, + $09, $04, $E4, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $28, $28, $00, $00, $00, $02, $02, $00, $30, $82, $28, $18, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $28, $09, $30, $82, $28, $05, $02, + $01, $01, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $30, + $4C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $04, $A0, $3E, $30, + $3C, $30, $17, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $0F, $30, + $09, $03, $01, $00, $A0, $04, $A2, $02, $80, $00, $30, $21, $30, $09, $06, $05, + $2B, $0E, $03, $02, $1A, $05, $00, $04, $14, $1F, $B9, $D5, $98, $BD, $F2, $03, + $D4, $FB, $09, $C7, $BD, $9B, $13, $53, $FF, $83, $E9, $5B, $81, $A0, $82, $03, + $C6, $30, $82, $03, $C2, $30, $82, $02, $AE, $A0, $03, $02, $01, $02, $02, $10, + $79, $8B, $C8, $C7, $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D, + $30, $09, $06, $05, $2B, $0E, $03, $02, $1D, $05, $00, $30, $54, $31, $0B, $30, + $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, + $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, + $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, + $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, + $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, + $31, $30, $1E, $17, $0D, $31, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, + $30, $5A, $17, $0D, $33, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, + $5A, $30, $60, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, + $31, $15, $30, $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $01, $16, + $06, $4C, $73, $75, $70, $65, $72, $31, $15, $30, $13, $06, $03, $55, $04, $0A, + $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $23, + $30, $21, $06, $03, $55, $04, $03, $13, $1A, $53, $75, $70, $65, $72, $20, $43, + $6F, $64, $65, $20, $53, $69, $67, $6E, $69, $6E, $67, $20, $43, $41, $20, $2D, + $20, $47, $31, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, + $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, + $82, $01, $01, $00, $BF, $43, $F2, $EE, $5F, $CD, $DE, $AE, $E7, $5A, $59, $B8, + $44, $03, $0A, $D0, $27, $19, $FD, $43, $2C, $A8, $55, $76, $E4, $17, $2B, $E4, + $B9, $52, $DF, $E4, $23, $89, $56, $62, $CE, $1B, $F3, $31, $AE, $12, $EC, $EF, + $F3, $28, $EA, $CA, $CA, $66, $53, $20, $9D, $84, $BC, $65, $27, $89, $48, $9F, + $65, $9A, $2C, $83, $11, $6D, $F2, $50, $46, $B8, $65, $19, $9B, $18, $AA, $74, + $90, $1B, $FE, $ED, $B8, $17, $7C, $9F, $BE, $79, $80, $BE, $FF, $38, $78, $BF, + $B9, $B8, $91, $2A, $74, $05, $E1, $FE, $7B, $69, $2F, $3C, $A4, $FB, $34, $7B, + $A2, $1F, $B3, $81, $5B, $37, $97, $16, $8A, $2F, $F1, $24, $64, $B8, $94, $0E, + $B7, $B2, $39, $EE, $BE, $0D, $16, $7D, $35, $B1, $42, $A6, $A0, $87, $22, $55, + $75, $BF, $FC, $06, $31, $81, $1F, $C1, $27, $CE, $B8, $AD, $7E, $F5, $C2, $3A, + $0C, $67, $3E, $E3, $AB, $96, $8C, $F0, $04, $80, $ED, $2E, $78, $25, $0E, $08, + $E2, $6A, $1D, $83, $DE, $12, $C8, $D3, $91, $B9, $F7, $CE, $13, $0B, $9C, $4A, + $72, $86, $6A, $C3, $47, $8C, $5B, $75, $E7, $91, $02, $E1, $12, $46, $DB, $A5, + $78, $19, $09, $C6, $B6, $0E, $AB, $37, $46, $3A, $DD, $E4, $7A, $F2, $2F, $6A, + $A5, $0A, $2A, $59, $57, $5E, $78, $6A, $26, $1C, $FC, $6A, $02, $1D, $10, $43, + $AE, $18, $C2, $61, $DC, $AE, $56, $7E, $8C, $5F, $BA, $CD, $C4, $12, $AC, $2B, + $11, $9E, $E3, $85, $02, $03, $01, $00, $01, $A3, $81, $8B, $30, $81, $88, $30, + $81, $85, $06, $03, $55, $1D, $01, $04, $7E, $30, $7C, $80, $10, $61, $1A, $C5, + $8D, $DA, $A6, $48, $41, $C6, $90, $F2, $6E, $42, $9B, $11, $44, $A1, $56, $30, + $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, + $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, + $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, + $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, + $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, + $20, $2D, $20, $47, $31, $82, $10, $61, $BD, $CF, $00, $4B, $64, $D3, $AC, $49, + $E3, $71, $A3, $37, $CE, $15, $65, $30, $09, $06, $05, $2B, $0E, $03, $02, $1D, + $05, $00, $03, $82, $01, $01, $00, $14, $1F, $B4, $72, $73, $27, $8A, $64, $32, + $30, $5A, $78, $A2, $F9, $B5, $0F, $33, $1F, $5C, $8E, $9F, $3C, $BE, $48, $35, + $04, $C5, $A0, $50, $D8, $91, $23, $B9, $42, $49, $FA, $64, $CF, $47, $F5, $FF, + $61, $9D, $78, $DF, $99, $FC, $8E, $B1, $DB, $AF, $B8, $0D, $F3, $64, $1A, $B6, + $82, $B7, $E6, $F5, $DB, $F5, $D7, $F0, $DD, $A2, $3B, $5F, $78, $EE, $2F, $EE, + $10, $55, $99, $1B, $5B, $DC, $ED, $A3, $EE, $72, $7F, $C5, $3C, $6C, $09, $30, + $87, $CE, $B6, $AB, $29, $1C, $80, $B9, $8F, $0E, $53, $3E, $E8, $A2, $C9, $34, + $DB, $6C, $C6, $3D, $D6, $A2, $1D, $6B, $6E, $FB, $DE, $7A, $D6, $F7, $5C, $DB, + $49, $6B, $DA, $B8, $FC, $5B, $9A, $52, $0A, $4F, $AB, $01, $65, $F4, $DE, $85, + $58, $7E, $8B, $61, $4C, $A7, $80, $1B, $4C, $E5, $AF, $B8, $C8, $6A, $6A, $D7, + $7B, $F6, $58, $C5, $4E, $2D, $0B, $D1, $BA, $DA, $D0, $33, $6B, $C0, $10, $F2, + $85, $51, $16, $05, $25, $61, $B2, $66, $64, $33, $6C, $B8, $85, $02, $7B, $E8, + $6B, $A6, $6A, $EA, $34, $8C, $3F, $0C, $95, $AF, $93, $6A, $AD, $1D, $8C, $A2, + $77, $0E, $DA, $12, $C7, $ED, $02, $39, $BE, $7C, $8D, $93, $A8, $6A, $82, $90, + $2E, $AC, $8B, $0E, $3B, $DB, $46, $76, $0E, $3C, $37, $19, $98, $7D, $A0, $D3, + $59, $67, $D9, $03, $5E, $FE, $85, $BE, $26, $7B, $78, $72, $69, $2B, $87, $13, + $04, $1B, $A6, $28, $66, $AF, $71, $31, $82, $23, $D9, $30, $82, $23, $D5, $02, + $01, $01, $30, $68, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, + $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, + $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, + $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, + $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, + $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $31, $02, $10, $79, $8B, $C8, $C7, + $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D, $30, $09, $06, $05, + $2B, $0E, $03, $02, $1A, $05, $00, $A0, $81, $84, $30, $19, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $03, $31, $0C, $06, $0A, $2B, $06, $01, $04, $01, + $82, $37, $02, $01, $04, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $09, $04, $31, $16, $04, $14, $E4, $D8, $E1, $8D, $1D, $41, $03, $38, $AA, $28, + $EB, $E9, $9A, $F1, $A3, $03, $1B, $9D, $C1, $1D, $30, $42, $06, $0A, $2B, $06, + $01, $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32, $A0, $18, $80, $16, + $00, $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69, $00, $20, $00, $4C, + $00, $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77, $77, $2E, $65, $6D, + $62, $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F, $6D, $20, $30, $0D, + $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $04, $82, $01, + $00, $B5, $9A, $90, $86, $7D, $DD, $BC, $7E, $3B, $CF, $72, $D9, $3F, $AC, $38, + $1B, $57, $78, $F9, $66, $9B, $C9, $0E, $0C, $C7, $9A, $D9, $59, $B1, $6E, $B7, + $21, $93, $F4, $3E, $1E, $E5, $DA, $53, $92, $20, $66, $2C, $E7, $52, $09, $E8, + $B5, $2F, $AC, $C5, $85, $54, $74, $90, $87, $FF, $72, $18, $02, $B1, $87, $36, + $72, $75, $50, $C7, $91, $D4, $2A, $50, $CB, $D3, $F6, $81, $1A, $E8, $6B, $21, + $10, $92, $52, $11, $D4, $66, $CB, $0A, $17, $B8, $28, $18, $5C, $E9, $DD, $DE, + $AA, $D0, $E1, $5E, $D6, $59, $28, $CF, $52, $3E, $F7, $F4, $CB, $68, $99, $15, + $A8, $C0, $8A, $A2, $AF, $F3, $AE, $C7, $FA, $69, $0A, $E8, $6E, $17, $B5, $5A, + $DC, $84, $02, $AC, $7C, $1A, $41, $EA, $B4, $BF, $4C, $16, $1D, $5C, $01, $4F, + $FE, $FF, $45, $BA, $B4, $B4, $5D, $02, $1B, $08, $50, $F9, $16, $95, $58, $BC, + $DE, $15, $7C, $EF, $4B, $54, $FE, $7F, $B3, $53, $2F, $C7, $47, $1C, $6A, $DD, + $7D, $73, $B1, $BC, $23, $0D, $3C, $D5, $96, $52, $12, $D2, $83, $57, $5E, $BD, + $97, $C7, $5F, $10, $57, $18, $B4, $4C, $1B, $7E, $00, $A5, $CF, $4B, $D4, $82, + $8F, $7C, $29, $6C, $B8, $73, $02, $90, $82, $C6, $8A, $EA, $41, $C6, $9D, $67, + $56, $DD, $8B, $34, $5C, $61, $F3, $67, $EE, $E4, $41, $A0, $C0, $EC, $74, $95, + $A0, $10, $F7, $BF, $A9, $FB, $10, $B7, $1A, $FE, $1A, $8D, $84, $A0, $BA, $22, + $F3, $A1, $82, $21, $BF, $30, $82, $0B, $E0, $06, $0A, $2B, $06, $01, $04, $01, + $82, $37, $03, $03, $01, $31, $82, $0B, $D0, $30, $82, $0B, $CC, $06, $09, $2A, + $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0B, $BD, $30, $82, $0B, $B9, + $02, $01, $03, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, + $30, $81, $DD, $06, $0B, $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04, + $A0, $81, $CD, $04, $81, $CA, $30, $81, $C7, $02, $01, $01, $06, $0B, $60, $86, + $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30, $21, $30, $09, $06, $05, $2B, + $0E, $03, $02, $1A, $05, $00, $04, $14, $85, $15, $37, $07, $63, $DD, $C9, $B9, + $C1, $32, $8A, $B6, $2B, $1D, $F8, $93, $FE, $2E, $67, $E0, $02, $14, $2D, $F8, + $D9, $62, $F8, $4E, $DF, $D6, $19, $8D, $E8, $4D, $5F, $F4, $C7, $B5, $11, $45, + $F7, $D9, $18, $0F, $32, $30, $31, $39, $30, $37, $32, $30, $31, $37, $34, $38, + $31, $39, $5A, $30, $03, $02, $01, $1E, $A0, $66, $A4, $64, $30, $62, $31, $0B, + $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06, + $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43, + $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $34, $30, $32, $06, $03, + $55, $04, $03, $13, $2B, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $69, + $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $65, $72, $76, + $69, $63, $65, $73, $20, $53, $69, $67, $6E, $65, $72, $20, $2D, $20, $47, $34, + $A0, $82, $08, $99, $30, $82, $03, $EE, $30, $82, $03, $57, $A0, $03, $02, $01, + $02, $02, $10, $7E, $93, $EB, $FB, $7C, $C6, $4E, $59, $EA, $4B, $9A, $77, $D4, + $06, $FC, $3B, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, + $05, $00, $30, $81, $8B, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, + $5A, $41, $31, $15, $30, $13, $06, $03, $55, $04, $08, $13, $0C, $57, $65, $73, + $74, $65, $72, $6E, $20, $43, $61, $70, $65, $31, $14, $30, $12, $06, $03, $55, + $04, $07, $13, $0B, $44, $75, $72, $62, $61, $6E, $76, $69, $6C, $6C, $65, $31, + $0F, $30, $0D, $06, $03, $55, $04, $0A, $13, $06, $54, $68, $61, $77, $74, $65, + $31, $1D, $30, $1B, $06, $03, $55, $04, $0B, $13, $14, $54, $68, $61, $77, $74, + $65, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $31, + $1F, $30, $1D, $06, $03, $55, $04, $03, $13, $16, $54, $68, $61, $77, $74, $65, + $20, $54, $69, $6D, $65, $73, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41, + $30, $1E, $17, $0D, $31, $32, $31, $32, $32, $31, $30, $30, $30, $30, $30, $30, + $5A, $17, $0D, $32, $30, $31, $32, $33, $30, $32, $33, $35, $39, $35, $39, $5A, + $30, $5E, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, + $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, + $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $30, + $30, $2E, $06, $03, $55, $04, $03, $13, $27, $53, $79, $6D, $61, $6E, $74, $65, + $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, + $53, $65, $72, $76, $69, $63, $65, $73, $20, $43, $41, $20, $2D, $20, $47, $32, + $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, + $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, $01, + $00, $B1, $AC, $B3, $49, $54, $4B, $97, $1C, $12, $0A, $D8, $25, $79, $91, $22, + $57, $2A, $6F, $DC, $B8, $26, $C4, $43, $73, $6B, $C2, $BF, $2E, $50, $5A, $FB, + $14, $C2, $76, $8E, $43, $01, $25, $43, $B4, $A1, $E2, $45, $F4, $E8, $B7, $7B, + $C3, $74, $CC, $22, $D7, $B4, $94, $00, $02, $F7, $4D, $ED, $BF, $B4, $B7, $44, + $24, $6B, $CD, $5F, $45, $3B, $D1, $44, $CE, $43, $12, $73, $17, $82, $8B, $69, + $B4, $2B, $CB, $99, $1E, $AC, $72, $1B, $26, $4D, $71, $1F, $B1, $31, $DD, $FB, + $51, $61, $02, $53, $A6, $AA, $F5, $49, $2C, $05, $78, $45, $A5, $2F, $89, $CE, + $E7, $99, $E7, $FE, $8C, $E2, $57, $3F, $3D, $C6, $92, $DC, $4A, $F8, $7B, $33, + $E4, $79, $0A, $FB, $F0, $75, $88, $41, $9C, $FF, $C5, $03, $51, $99, $AA, $D7, + $6C, $9F, $93, $69, $87, $65, $29, $83, $85, $C2, $60, $14, $C4, $C8, $C9, $3B, + $14, $DA, $C0, $81, $F0, $1F, $0D, $74, $DE, $92, $22, $AB, $CA, $F7, $FB, $74, + $7C, $27, $E6, $F7, $4A, $1B, $7F, $A7, $C3, $9E, $2D, $AE, $8A, $EA, $A6, $E6, + $AA, $27, $16, $7D, $61, $F7, $98, $71, $11, $BC, $E2, $50, $A1, $4B, $E5, $5D, + $FA, $E5, $0E, $A7, $2C, $9F, $AA, $65, $20, $D3, $D8, $96, $E8, $C8, $7C, $A5, + $4E, $48, $44, $FF, $19, $E2, $44, $07, $92, $0B, $D7, $68, $84, $80, $5D, $6A, + $78, $64, $45, $CD, $60, $46, $7E, $54, $C1, $13, $7C, $C5, $79, $F1, $C9, $C1, + $71, $02, $03, $01, $00, $01, $A3, $81, $FA, $30, $81, $F7, $30, $1D, $06, $03, + $55, $1D, $0E, $04, $16, $04, $14, $5F, $9A, $F5, $6E, $5C, $CC, $CC, $74, $9A, + $D4, $DD, $7D, $EF, $3F, $DB, $EC, $4C, $80, $2E, $DD, $30, $32, $06, $08, $2B, + $06, $01, $05, $05, $07, $01, $01, $04, $26, $30, $24, $30, $22, $06, $08, $2B, + $06, $01, $05, $05, $07, $30, $01, $86, $16, $68, $74, $74, $70, $3A, $2F, $2F, + $6F, $63, $73, $70, $2E, $74, $68, $61, $77, $74, $65, $2E, $63, $6F, $6D, $30, + $12, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $08, $30, $06, $01, $01, $FF, + $02, $01, $00, $30, $3F, $06, $03, $55, $1D, $1F, $04, $38, $30, $36, $30, $34, + $A0, $32, $A0, $30, $86, $2E, $68, $74, $74, $70, $3A, $2F, $2F, $63, $72, $6C, + $2E, $74, $68, $61, $77, $74, $65, $2E, $63, $6F, $6D, $2F, $54, $68, $61, $77, + $74, $65, $54, $69, $6D, $65, $73, $74, $61, $6D, $70, $69, $6E, $67, $43, $41, + $2E, $63, $72, $6C, $30, $13, $06, $03, $55, $1D, $25, $04, $0C, $30, $0A, $06, + $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0E, $06, $03, $55, $1D, $0F, + $01, $01, $FF, $04, $04, $03, $02, $01, $06, $30, $28, $06, $03, $55, $1D, $11, + $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04, + $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34, + $38, $2D, $31, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, + $05, $00, $03, $81, $81, $00, $03, $09, $9B, $8F, $79, $EF, $7F, $59, $30, $AA, + $EF, $68, $B5, $FA, $E3, $09, $1D, $BB, $4F, $82, $06, $5D, $37, $5F, $A6, $52, + $9F, $16, $8D, $EA, $1C, $92, $09, $44, $6E, $F5, $6D, $EB, $58, $7C, $30, $E8, + $F9, $69, $8D, $23, $73, $0B, $12, $6F, $47, $A9, $AE, $39, $11, $F8, $2A, $B1, + $9B, $B0, $1A, $C3, $8E, $EB, $59, $96, $00, $AD, $CE, $0C, $4D, $B2, $D0, $31, + $A6, $08, $5C, $2A, $7A, $FC, $E2, $7A, $1D, $57, $4C, $A8, $65, $18, $E9, $79, + $40, $62, $25, $96, $6E, $C7, $C7, $37, $6A, $83, $21, $08, $8E, $41, $EA, $DD, + $D9, $57, $3F, $1D, $77, $49, $87, $2A, $16, $06, $5E, $A6, $38, $6A, $22, $12, + $A3, $51, $19, $83, $7E, $B6, $30, $82, $04, $A3, $30, $82, $03, $8B, $A0, $03, + $02, $01, $02, $02, $10, $0E, $CF, $F4, $38, $C8, $FE, $BF, $35, $6E, $04, $D8, + $6A, $98, $1B, $1A, $50, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $01, $05, $05, $00, $30, $5E, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, + $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, + $6F, $6E, $31, $30, $30, $2E, $06, $03, $55, $04, $03, $13, $27, $53, $79, $6D, + $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, + $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63, $65, $73, $20, $43, $41, $20, + $2D, $20, $47, $32, $30, $1E, $17, $0D, $31, $32, $31, $30, $31, $38, $30, $30, + $30, $30, $30, $30, $5A, $17, $0D, $32, $30, $31, $32, $32, $39, $32, $33, $35, + $39, $35, $39, $5A, $30, $62, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, + $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, + $6F, $6E, $31, $34, $30, $32, $06, $03, $55, $04, $03, $13, $2B, $53, $79, $6D, + $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, + $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63, $65, $73, $20, $53, $69, $67, + $6E, $65, $72, $20, $2D, $20, $47, $34, $30, $82, $01, $22, $30, $0D, $06, $09, + $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, + $30, $82, $01, $0A, $02, $82, $01, $01, $00, $A2, $63, $0B, $39, $44, $B8, $BB, + $23, $A7, $44, $49, $BB, $0E, $FF, $A1, $F0, $61, $0A, $53, $93, $B0, $98, $DB, + $AD, $2C, $0F, $4A, $C5, $6E, $FF, $86, $3C, $53, $55, $0F, $15, $CE, $04, $3F, + $2B, $FD, $A9, $96, $96, $D9, $BE, $61, $79, $0B, $5B, $C9, $4C, $86, $76, $E5, + $E0, $43, $4B, $22, $95, $EE, $C2, $2B, $43, $C1, $9F, $D8, $68, $B4, $8E, $40, + $4F, $EE, $85, $38, $B9, $11, $C5, $23, $F2, $64, $58, $F0, $15, $32, $6F, $4E, + $57, $A1, $AE, $88, $A4, $02, $D7, $2A, $1E, $CD, $4B, $E1, $DD, $63, $D5, $17, + $89, $32, $5B, $B0, $5E, $99, $5A, $A8, $9D, $28, $50, $0E, $17, $EE, $96, $DB, + $61, $3B, $45, $51, $1D, $CF, $12, $56, $0B, $92, $47, $FC, $AB, $AE, $F6, $66, + $3D, $47, $AC, $70, $72, $E7, $92, $E7, $5F, $CD, $10, $B9, $C4, $83, $64, $94, + $19, $BD, $25, $80, $E1, $E8, $D2, $22, $A5, $D0, $BA, $02, $7A, $A1, $77, $93, + $5B, $65, $C3, $EE, $17, $74, $BC, $41, $86, $2A, $DC, $08, $4C, $8C, $92, $8C, + $91, $2D, $9E, $77, $44, $1F, $68, $D6, $A8, $74, $77, $DB, $0E, $5B, $32, $8B, + $56, $8B, $33, $BD, $D9, $63, $C8, $49, $9D, $3A, $C5, $C5, $EA, $33, $0B, $D2, + $F1, $A3, $1B, $F4, $8B, $BE, $D9, $B3, $57, $8B, $3B, $DE, $04, $A7, $7A, $22, + $B2, $24, $AE, $2E, $C7, $70, $C5, $BE, $4E, $83, $26, $08, $FB, $0B, $BD, $A9, + $4F, $99, $08, $E1, $10, $28, $72, $AA, $CD, $02, $03, $01, $00, $01, $A3, $82, + $01, $57, $30, $82, $01, $53, $30, $0C, $06, $03, $55, $1D, $13, $01, $01, $FF, + $04, $02, $30, $00, $30, $16, $06, $03, $55, $1D, $25, $01, $01, $FF, $04, $0C, + $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0E, $06, $03, + $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $07, $80, $30, $73, $06, $08, + $2B, $06, $01, $05, $05, $07, $01, $01, $04, $67, $30, $65, $30, $2A, $06, $08, + $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1E, $68, $74, $74, $70, $3A, $2F, + $2F, $74, $73, $2D, $6F, $63, $73, $70, $2E, $77, $73, $2E, $73, $79, $6D, $61, + $6E, $74, $65, $63, $2E, $63, $6F, $6D, $30, $37, $06, $08, $2B, $06, $01, $05, + $05, $07, $30, $02, $86, $2B, $68, $74, $74, $70, $3A, $2F, $2F, $74, $73, $2D, + $61, $69, $61, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65, $63, $2E, + $63, $6F, $6D, $2F, $74, $73, $73, $2D, $63, $61, $2D, $67, $32, $2E, $63, $65, + $72, $30, $3C, $06, $03, $55, $1D, $1F, $04, $35, $30, $33, $30, $31, $A0, $2F, + $A0, $2D, $86, $2B, $68, $74, $74, $70, $3A, $2F, $2F, $74, $73, $2D, $63, $72, + $6C, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65, $63, $2E, $63, $6F, + $6D, $2F, $74, $73, $73, $2D, $63, $61, $2D, $67, $32, $2E, $63, $72, $6C, $30, + $28, $06, $03, $55, $1D, $11, $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, + $30, $17, $06, $03, $55, $04, $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61, + $6D, $70, $2D, $32, $30, $34, $38, $2D, $32, $30, $1D, $06, $03, $55, $1D, $0E, + $04, $16, $04, $14, $46, $C6, $69, $A3, $0E, $4A, $14, $1E, $D5, $4C, $DA, $52, + $63, $17, $3F, $5E, $36, $BC, $0D, $E6, $30, $1F, $06, $03, $55, $1D, $23, $04, + $18, $30, $16, $80, $14, $5F, $9A, $F5, $6E, $5C, $CC, $CC, $74, $9A, $D4, $DD, + $7D, $EF, $3F, $DB, $EC, $4C, $80, $2E, $DD, $30, $0D, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $01, $05, $05, $00, $03, $82, $01, $01, $00, $78, $3B, $B4, + $91, $2A, $00, $4C, $F0, $8F, $62, $30, $37, $78, $A3, $84, $27, $07, $6F, $18, + $B2, $DE, $25, $DC, $A0, $D4, $94, $03, $AA, $86, $4E, $25, $9F, $9A, $40, $03, + $1C, $DD, $CE, $E3, $79, $CB, $21, $68, $06, $DA, $B6, $32, $B4, $6D, $BF, $F4, + $2C, $26, $63, $33, $E4, $49, $64, $6D, $0D, $E6, $C3, $67, $0E, $F7, $05, $A4, + $35, $6C, $7C, $89, $16, $C6, $E9, $B2, $DF, $B2, $E9, $DD, $20, $C6, $71, $0F, + $CD, $95, $74, $DC, $B6, $5C, $DE, $BD, $37, $1F, $43, $78, $E6, $78, $B5, $CD, + $28, $04, $20, $A3, $AA, $F1, $4B, $C4, $88, $29, $91, $0E, $80, $D1, $11, $FC, + $DD, $5C, $76, $6E, $4F, $5E, $0E, $45, $46, $41, $6E, $0D, $B0, $EA, $38, $9A, + $B1, $3A, $DA, $09, $71, $10, $FC, $1C, $79, $B4, $80, $7B, $AC, $69, $F4, $FD, + $9C, $B6, $0C, $16, $2B, $F1, $7F, $5B, $09, $3D, $9B, $5B, $E2, $16, $CA, $13, + $81, $6D, $00, $2E, $38, $0D, $A8, $29, $8F, $2C, $E1, $B2, $F4, $5A, $A9, $01, + $AF, $15, $9C, $2C, $2F, $49, $1B, $DB, $22, $BB, $C3, $FE, $78, $94, $51, $C3, + $86, $B1, $82, $88, $5D, $F0, $3D, $B4, $51, $A1, $79, $33, $2B, $2E, $7B, $B9, + $DC, $20, $09, $13, $71, $EB, $6A, $19, $5B, $CF, $E8, $A5, $30, $57, $2C, $89, + $49, $3F, $B9, $CF, $7F, $C9, $BF, $3E, $22, $68, $63, $53, $9A, $BD, $69, $74, + $AC, $C5, $1D, $3C, $7F, $92, $E0, $C3, $BC, $1C, $D8, $04, $75, $31, $82, $02, + $28, $30, $82, $02, $24, $02, $01, $01, $30, $72, $30, $5E, $31, $0B, $30, $09, + $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, + $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, + $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $30, $30, $2E, $06, $03, $55, $04, + $03, $13, $27, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $69, $6D, $65, + $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $65, $72, $76, $69, $63, + $65, $73, $20, $43, $41, $20, $2D, $20, $47, $32, $02, $10, $0E, $CF, $F4, $38, + $C8, $FE, $BF, $35, $6E, $04, $D8, $6A, $98, $1B, $1A, $50, $30, $09, $06, $05, + $2B, $0E, $03, $02, $1A, $05, $00, $A0, $81, $8C, $30, $1A, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B, $2A, $86, $48, $86, $F7, + $0D, $01, $09, $10, $01, $04, $30, $1C, $06, $09, $2A, $86, $48, $86, $F7, $0D, + $01, $09, $05, $31, $0F, $17, $0D, $31, $39, $30, $37, $32, $30, $31, $37, $34, + $38, $31, $39, $5A, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, + $04, $31, $16, $04, $14, $E0, $63, $5C, $77, $30, $71, $7E, $5C, $D2, $DA, $66, + $D3, $E3, $54, $BF, $FD, $7E, $71, $9A, $D0, $30, $2B, $06, $0B, $2A, $86, $48, + $86, $F7, $0D, $01, $09, $10, $02, $0C, $31, $1C, $30, $1A, $30, $18, $30, $16, + $04, $14, $65, $43, $99, $29, $B6, $79, $73, $EB, $19, $2D, $6F, $F2, $43, $E6, + $76, $7A, $DF, $08, $34, $E4, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, + $01, $01, $01, $05, $00, $04, $82, $01, $00, $2C, $08, $42, $C6, $5E, $59, $40, + $85, $85, $C5, $1A, $8B, $30, $DA, $7F, $AE, $A4, $CD, $FC, $49, $69, $EA, $BB, + $AF, $26, $E3, $B4, $7D, $33, $92, $A9, $F0, $8F, $9F, $4E, $29, $71, $5F, $3E, + $AD, $69, $27, $19, $E0, $AF, $5A, $84, $D1, $81, $AD, $31, $97, $70, $D7, $C5, + $24, $BD, $65, $D8, $A1, $C1, $C7, $8C, $1D, $A3, $A7, $3B, $9E, $3C, $75, $87, + $79, $1A, $C3, $1A, $AA, $89, $08, $6C, $E3, $6D, $F0, $ED, $12, $E4, $BA, $D0, + $23, $A0, $9A, $E3, $9A, $15, $77, $BD, $3E, $C9, $5E, $0E, $66, $EA, $DF, $39, + $A9, $CA, $6E, $62, $26, $0A, $B8, $AF, $3E, $09, $51, $A8, $88, $01, $B5, $2F, + $AF, $02, $36, $15, $15, $D7, $86, $1E, $7C, $5C, $94, $45, $40, $6E, $7F, $47, + $3E, $21, $60, $D9, $DC, $08, $98, $40, $2C, $B0, $A3, $71, $FF, $7A, $96, $9B, + $D7, $85, $5A, $D8, $A9, $DD, $B3, $8A, $0E, $A1, $E6, $C7, $BF, $14, $7B, $1D, + $9B, $35, $EA, $ED, $68, $EA, $6F, $15, $2A, $FE, $AE, $35, $C1, $19, $2E, $6D, + $F5, $6A, $47, $12, $4E, $B1, $78, $D0, $8C, $91, $AA, $23, $A4, $D5, $0C, $9B, + $78, $A0, $94, $28, $B6, $1A, $E7, $D9, $6F, $0E, $CD, $80, $C4, $02, $08, $52, + $F9, $80, $42, $FB, $0E, $5A, $61, $36, $07, $A5, $8B, $E1, $A1, $BF, $DD, $48, + $E0, $4D, $7B, $AB, $0F, $6A, $0F, $39, $C2, $95, $CD, $6E, $9B, $49, $DD, $A3, + $0E, $19, $D1, $B9, $01, $87, $25, $F5, $12, $30, $82, $15, $D7, $06, $0A, $2B, + $06, $01, $04, $01, $82, $37, $02, $04, $01, $31, $82, $15, $C7, $30, $82, $15, + $C3, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $15, $B4, + $30, $82, $15, $B0, $02, $01, $01, $31, $0F, $30, $0D, $06, $09, $60, $86, $48, + $01, $65, $03, $04, $02, $01, $05, $00, $30, $5C, $06, $0A, $2B, $06, $01, $04, + $01, $82, $37, $02, $01, $04, $A0, $4E, $30, $4C, $30, $17, $06, $0A, $2B, $06, + $01, $04, $01, $82, $37, $02, $01, $0F, $30, $09, $03, $01, $00, $A0, $04, $A2, + $02, $80, $00, $30, $31, $30, $0D, $06, $09, $60, $86, $48, $01, $65, $03, $04, + $02, $01, $05, $00, $04, $20, $56, $00, $CF, $B2, $93, $A5, $4B, $E3, $42, $B6, + $47, $B6, $CA, $DF, $2A, $EF, $7E, $94, $BF, $1B, $2D, $B5, $FB, $1A, $4D, $73, + $88, $96, $67, $25, $C8, $99, $A0, $82, $04, $CE, $30, $82, $04, $CA, $30, $82, + $02, $B2, $A0, $03, $02, $01, $02, $02, $10, $2F, $A7, $24, $D1, $84, $61, $9A, + $B9, $40, $B4, $C6, $A5, $60, $C6, $04, $31, $30, $0D, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $01, $0B, $05, $00, $30, $54, $31, $0B, $30, $09, $06, $03, + $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, + $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, + $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, + $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, + $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $32, $30, $1E, + $17, $0D, $31, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, $5A, $17, + $0D, $33, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, $5A, $30, $60, + $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, + $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $01, $16, $06, $4C, $73, + $75, $70, $65, $72, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, + $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $23, $30, $21, $06, + $03, $55, $04, $03, $13, $1A, $53, $75, $70, $65, $72, $20, $43, $6F, $64, $65, + $20, $53, $69, $67, $6E, $69, $6E, $67, $20, $43, $41, $20, $2D, $20, $47, $32, + $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, + $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, $01, + $00, $DD, $1D, $1E, $AE, $62, $65, $5F, $B5, $3C, $04, $2E, $14, $2E, $79, $E4, + $94, $51, $5A, $9A, $FD, $82, $57, $AD, $DD, $12, $37, $3A, $95, $FF, $43, $0B, + $71, $4A, $63, $3F, $B8, $25, $FC, $91, $DC, $0F, $54, $FB, $39, $76, $E5, $E2, + $04, $FF, $7A, $EB, $67, $8B, $D4, $1E, $67, $BB, $E6, $71, $33, $09, $AC, $D5, + $BF, $67, $28, $6C, $2F, $4C, $DE, $01, $78, $11, $B5, $5E, $72, $B3, $CB, $3C, + $16, $48, $71, $EC, $A5, $97, $31, $13, $45, $32, $1E, $E8, $C5, $99, $CC, $33, + $EF, $CB, $4E, $CF, $A9, $E2, $0B, $0C, $E8, $A3, $B8, $BF, $47, $EF, $E0, $4E, + $AA, $79, $ED, $35, $F0, $7C, $48, $68, $51, $00, $CD, $B0, $40, $60, $43, $45, + $28, $7A, $DF, $84, $13, $A1, $16, $51, $0F, $93, $86, $3F, $53, $A4, $FD, $C5, + $BD, $03, $C9, $70, $38, $93, $17, $18, $9C, $20, $7D, $97, $16, $D9, $19, $40, + $1B, $35, $22, $63, $4B, $0A, $EF, $E1, $C1, $1E, $8A, $C1, $31, $BE, $CA, $33, + $04, $E3, $C8, $F9, $DD, $BB, $A4, $B1, $3E, $1F, $5D, $54, $CC, $E8, $81, $52, + $09, $29, $0E, $DE, $BC, $30, $16, $3E, $C3, $2E, $DF, $44, $93, $F5, $4F, $0D, + $49, $AB, $8C, $B3, $B8, $FE, $19, $88, $E9, $6B, $BC, $7E, $55, $6B, $B5, $13, + $B2, $7E, $C9, $D6, $03, $33, $2F, $A7, $E9, $B5, $45, $BB, $5C, $A5, $C9, $5E, + $67, $38, $CC, $18, $2D, $2E, $85, $00, $FE, $1D, $0F, $1F, $E0, $D7, $24, $BF, + $AB, $02, $03, $01, $00, $01, $A3, $81, $8B, $30, $81, $88, $30, $81, $85, $06, + $03, $55, $1D, $01, $04, $7E, $30, $7C, $80, $10, $7F, $28, $4D, $8C, $3E, $5E, + $15, $FF, $B0, $11, $66, $B1, $16, $C8, $E0, $C9, $A1, $56, $30, $54, $31, $0B, + $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, + $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, + $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, + $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, + $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, + $47, $32, $82, $10, $FE, $1E, $21, $8F, $FB, $D4, $48, $BA, $44, $FB, $30, $CF, + $DB, $F6, $57, $72, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, + $0B, $05, $00, $03, $82, $02, $01, $00, $A8, $F1, $42, $48, $8C, $E3, $E3, $8F, + $8B, $71, $4E, $50, $34, $2D, $10, $63, $5C, $B1, $5E, $91, $75, $1E, $24, $E1, + $9B, $1C, $60, $80, $A4, $91, $60, $B9, $09, $01, $74, $E2, $F7, $A1, $D6, $57, + $FF, $75, $F1, $B2, $A2, $CF, $AB, $D1, $77, $67, $EE, $E3, $C4, $57, $CF, $E7, + $15, $B5, $CB, $4B, $DF, $2B, $CD, $D4, $DF, $0B, $F1, $9C, $F1, $F2, $5F, $18, + $DB, $45, $6F, $60, $19, $FC, $01, $4D, $13, $92, $BC, $B6, $FE, $D2, $BA, $A7, + $B2, $D4, $28, $13, $E1, $58, $BD, $E7, $FA, $42, $14, $A3, $B0, $80, $71, $E3, + $D1, $FB, $4E, $4B, $FB, $67, $09, $9E, $14, $9F, $52, $8B, $19, $AE, $C6, $B9, + $8B, $AD, $D1, $C9, $C1, $B8, $F5, $54, $E4, $78, $29, $B0, $D4, $6B, $5E, $45, + $B6, $CC, $CE, $12, $2D, $8A, $6D, $F4, $B3, $E9, $F3, $0C, $7C, $0B, $25, $0A, + $C7, $5B, $FA, $48, $29, $1E, $01, $09, $E5, $F9, $CC, $FE, $B9, $CD, $98, $A6, + $68, $F5, $62, $9C, $35, $DE, $D6, $0A, $30, $34, $6B, $FD, $34, $5F, $8C, $78, + $15, $F5, $99, $FE, $D4, $0D, $C5, $98, $44, $DA, $81, $C1, $36, $40, $BD, $E1, + $A5, $3A, $CF, $98, $25, $DA, $CB, $81, $DF, $1E, $73, $93, $15, $A2, $6A, $C8, + $E5, $3F, $59, $69, $7C, $9A, $DC, $C7, $BE, $D2, $3C, $B0, $BD, $DA, $B9, $1F, + $CE, $95, $DB, $A5, $5B, $24, $46, $7B, $9A, $C3, $FB, $A0, $B0, $1A, $79, $59, + $6A, $A1, $91, $AC, $79, $77, $FD, $CF, $9A, $EB, $C2, $27, $17, $BF, $73, $44, + $94, $FE, $E6, $7A, $5C, $A7, $83, $98, $4A, $F8, $15, $E2, $1E, $57, $CA, $80, + $6E, $7D, $1F, $F0, $A6, $C6, $D5, $9A, $DA, $24, $E6, $35, $7D, $A1, $1E, $BD, + $EC, $59, $66, $74, $5B, $3D, $94, $BF, $CE, $70, $12, $D3, $0F, $46, $5C, $E1, + $BE, $28, $3C, $7E, $0D, $9E, $A2, $E4, $C3, $D6, $2D, $48, $CB, $DA, $FF, $CD, + $FD, $58, $00, $C6, $5D, $6C, $4B, $CB, $49, $58, $2B, $9D, $F7, $92, $D9, $01, + $9E, $A1, $A7, $A1, $83, $A0, $FD, $33, $6C, $23, $DD, $31, $56, $95, $A9, $69, + $77, $C9, $56, $35, $40, $27, $BC, $D7, $30, $2A, $C0, $52, $91, $32, $2E, $AB, + $47, $8D, $44, $FE, $15, $E6, $06, $F1, $F1, $D9, $C3, $1F, $EB, $44, $DB, $71, + $03, $D0, $BA, $AE, $5E, $54, $57, $58, $40, $6D, $B1, $39, $E4, $6A, $73, $D2, + $37, $87, $34, $7E, $D6, $A2, $9E, $2C, $23, $15, $76, $07, $5C, $3A, $C3, $A5, + $C6, $EA, $28, $50, $4F, $4C, $28, $52, $0A, $C1, $F2, $4F, $DD, $82, $24, $5A, + $BB, $58, $E4, $0E, $F6, $F0, $21, $3E, $CA, $DA, $D2, $3F, $D4, $F6, $FF, $70, + $C2, $0A, $D8, $77, $BD, $62, $2C, $1F, $89, $DD, $54, $98, $03, $4A, $6A, $6D, + $30, $06, $5D, $89, $F4, $A2, $2E, $BF, $D8, $BF, $3C, $58, $42, $61, $D7, $7B, + $9F, $EF, $B7, $1A, $56, $10, $02, $D3, $BD, $FA, $0B, $C9, $3D, $68, $17, $88, + $EC, $99, $10, $29, $32, $7D, $E1, $39, $31, $82, $10, $68, $30, $82, $10, $64, + $02, $01, $01, $30, $68, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, + $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, + $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, + $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, + $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, + $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $32, $02, $10, $2F, $A7, $24, + $D1, $84, $61, $9A, $B9, $40, $B4, $C6, $A5, $60, $C6, $04, $31, $30, $0D, $06, + $09, $60, $86, $48, $01, $65, $03, $04, $02, $01, $05, $00, $A0, $81, $A3, $30, + $11, $06, $0A, $2A, $86, $48, $86, $F7, $0D, $01, $09, $19, $04, $31, $03, $02, + $01, $01, $30, $19, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $03, $31, + $0C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $04, $30, $2F, $06, + $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $04, $31, $22, $04, $20, $79, $3C, + $36, $8C, $BB, $3F, $D2, $31, $C3, $13, $2A, $EA, $B6, $EE, $41, $54, $7B, $2F, + $AB, $13, $ED, $00, $81, $83, $BC, $B8, $86, $C3, $FF, $0F, $53, $FD, $30, $42, + $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32, + $A0, $18, $80, $16, $00, $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69, + $00, $20, $00, $4C, $00, $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77, + $77, $2E, $65, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F, + $6D, $20, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, + $00, $04, $82, $01, $00, $57, $AA, $90, $05, $EC, $91, $5E, $EB, $60, $FB, $5D, + $A7, $1D, $60, $8E, $FB, $54, $F1, $84, $94, $20, $E0, $38, $76, $14, $92, $DA, + $C4, $F8, $5B, $09, $C8, $B6, $FC, $74, $C1, $A8, $04, $FA, $A4, $3A, $96, $F0, + $53, $A2, $FE, $95, $48, $30, $C9, $62, $24, $EC, $31, $E9, $54, $58, $B2, $85, + $B9, $CA, $05, $06, $05, $DF, $B5, $8E, $25, $C8, $69, $BA, $A1, $D6, $16, $75, + $7B, $1A, $35, $F1, $8F, $80, $E0, $8F, $CD, $07, $36, $2E, $D8, $00, $75, $76, + $FA, $3A, $A3, $E5, $77, $D6, $4E, $DB, $83, $0C, $9D, $CB, $AF, $5B, $E0, $E5, + $77, $4D, $F3, $3E, $19, $38, $F7, $5A, $17, $79, $37, $DD, $B7, $61, $3A, $9B, + $F8, $3D, $39, $05, $58, $88, $1B, $C3, $CE, $D6, $39, $21, $CD, $15, $18, $B0, + $79, $11, $A2, $63, $35, $6A, $C2, $47, $BC, $09, $29, $48, $26, $F3, $55, $9A, + $13, $67, $EA, $3F, $57, $02, $50, $B1, $B4, $97, $6F, $2F, $42, $34, $17, $90, + $AC, $2A, $7A, $CA, $95, $F7, $94, $EB, $DA, $8C, $86, $5F, $A5, $E6, $D1, $E6, + $F1, $FD, $C5, $DF, $21, $28, $84, $1E, $2E, $3E, $DA, $61, $B0, $95, $85, $54, + $A5, $71, $EB, $8D, $F7, $B8, $C9, $D4, $F6, $C6, $7B, $8B, $8A, $A0, $CC, $CF, + $4D, $BC, $F2, $F3, $E0, $E8, $EE, $2D, $80, $C9, $5A, $09, $54, $81, $33, $AD, + $1A, $E8, $0C, $64, $55, $20, $21, $B4, $8F, $C9, $3B, $8B, $86, $ED, $96, $CE, + $F0, $D3, $30, $25, $64, $A1, $82, $0E, $2B, $30, $82, $0E, $27, $06, $0A, $2B, + $06, $01, $04, $01, $82, $37, $03, $03, $01, $31, $82, $0E, $17, $30, $82, $0E, + $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0E, $04, + $30, $82, $0E, $00, $02, $01, $03, $31, $0D, $30, $0B, $06, $09, $60, $86, $48, + $01, $65, $03, $04, $02, $01, $30, $81, $FE, $06, $0B, $2A, $86, $48, $86, $F7, + $0D, $01, $09, $10, $01, $04, $A0, $81, $EE, $04, $81, $EB, $30, $81, $E8, $02, + $01, $01, $06, $0B, $60, $86, $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30, + $21, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $04, $14, $8F, $04, + $3C, $4B, $89, $CF, $42, $2A, $D8, $54, $DB, $37, $AC, $37, $7D, $0A, $F8, $75, + $DF, $81, $02, $14, $38, $13, $F1, $03, $71, $CC, $83, $05, $20, $94, $4C, $AA, + $35, $EB, $AA, $0C, $8A, $DF, $83, $F2, $18, $0F, $32, $30, $31, $39, $30, $37, + $32, $30, $31, $37, $34, $38, $32, $30, $5A, $30, $03, $02, $01, $1E, $A0, $81, + $86, $A4, $81, $83, $30, $81, $80, $31, $0B, $30, $09, $06, $03, $55, $04, $06, + $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, + $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, + $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, + $77, $6F, $72, $6B, $31, $31, $30, $2F, $06, $03, $55, $04, $03, $13, $28, $53, + $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, + $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E, + $65, $72, $20, $2D, $20, $47, $33, $A0, $82, $0A, $8B, $30, $82, $05, $38, $30, + $82, $04, $20, $A0, $03, $02, $01, $02, $02, $10, $7B, $05, $B1, $D4, $49, $68, + $51, $44, $F7, $C9, $89, $D2, $9C, $19, $9D, $12, $30, $0D, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $01, $0B, $05, $00, $30, $81, $BD, $31, $0B, $30, $09, + $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $17, $30, $15, $06, $03, $55, + $04, $0A, $13, $0E, $56, $65, $72, $69, $53, $69, $67, $6E, $2C, $20, $49, $6E, + $63, $2E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $56, $65, $72, + $69, $53, $69, $67, $6E, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77, + $6F, $72, $6B, $31, $3A, $30, $38, $06, $03, $55, $04, $0B, $13, $31, $28, $63, + $29, $20, $32, $30, $30, $38, $20, $56, $65, $72, $69, $53, $69, $67, $6E, $2C, + $20, $49, $6E, $63, $2E, $20, $2D, $20, $46, $6F, $72, $20, $61, $75, $74, $68, + $6F, $72, $69, $7A, $65, $64, $20, $75, $73, $65, $20, $6F, $6E, $6C, $79, $31, + $38, $30, $36, $06, $03, $55, $04, $03, $13, $2F, $56, $65, $72, $69, $53, $69, + $67, $6E, $20, $55, $6E, $69, $76, $65, $72, $73, $61, $6C, $20, $52, $6F, $6F, + $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20, + $41, $75, $74, $68, $6F, $72, $69, $74, $79, $30, $1E, $17, $0D, $31, $36, $30, + $31, $31, $32, $30, $30, $30, $30, $30, $30, $5A, $17, $0D, $33, $31, $30, $31, + $31, $31, $32, $33, $35, $39, $35, $39, $5A, $30, $77, $31, $0B, $30, $09, $06, + $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, + $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, + $6F, $72, $61, $74, $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, + $13, $16, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, + $20, $4E, $65, $74, $77, $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04, + $03, $13, $1F, $53, $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, + $35, $36, $20, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, + $43, $41, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, + $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, + $01, $01, $00, $BB, $59, $9D, $59, $55, $4F, $9D, $8C, $72, $5D, $1A, $81, $A2, + $EB, $55, $F3, $B0, $01, $AD, $3C, $71, $AC, $32, $8F, $05, $6B, $86, $9A, $27, + $00, $32, $97, $6A, $4D, $C9, $64, $14, $4B, $29, $BB, $C2, $D9, $29, $B9, $2E, + $EC, $63, $B3, $E1, $CF, $3F, $0B, $56, $90, $F8, $62, $1B, $7E, $EB, $A6, $07, + $E2, $DE, $7F, $5E, $6D, $40, $38, $D4, $91, $06, $E7, $41, $7C, $79, $1C, $CB, + $CB, $AD, $1B, $BF, $D8, $95, $91, $F3, $F0, $EE, $6C, $F8, $AD, $96, $39, $2E, + $7F, $C1, $27, $B8, $78, $39, $C5, $84, $A5, $ED, $ED, $AF, $87, $8E, $CE, $8D, + $C7, $6D, $EA, $D2, $98, $B5, $3A, $1F, $1E, $39, $9D, $C3, $F4, $9A, $A8, $F4, + $84, $E1, $C4, $D1, $7C, $71, $C6, $06, $29, $B4, $3F, $E4, $83, $0D, $26, $C3, + $7B, $08, $3E, $4D, $F9, $0A, $B7, $33, $49, $FF, $CA, $3B, $D4, $F5, $B2, $9B, + $4B, $E1, $88, $99, $1A, $F5, $C0, $E9, $33, $14, $D6, $DF, $C7, $80, $DB, $91, + $EE, $FE, $BC, $92, $57, $72, $77, $F4, $CD, $A8, $CC, $FE, $09, $F5, $93, $37, + $BE, $95, $88, $6A, $C5, $DC, $F4, $B1, $4B, $D4, $CE, $E8, $09, $91, $5F, $B5, + $84, $79, $35, $8A, $78, $AC, $19, $32, $8F, $23, $C1, $32, $41, $1B, $59, $0E, + $A9, $3E, $B1, $CC, $F9, $D6, $2B, $EF, $B7, $D8, $E4, $D5, $1D, $6D, $11, $3A, + $92, $F6, $93, $C9, $9C, $E3, $48, $EE, $BB, $53, $0E, $D4, $36, $97, $86, $78, + $C5, $A1, $37, $02, $03, $01, $00, $01, $A3, $82, $01, $77, $30, $82, $01, $73, + $30, $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $01, $06, + $30, $12, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $08, $30, $06, $01, $01, + $FF, $02, $01, $00, $30, $66, $06, $03, $55, $1D, $20, $04, $5F, $30, $5D, $30, + $5B, $06, $0B, $60, $86, $48, $01, $86, $F8, $45, $01, $07, $17, $03, $30, $4C, + $30, $23, $06, $08, $2B, $06, $01, $05, $05, $07, $02, $01, $16, $17, $68, $74, + $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F, + $6D, $2F, $63, $70, $73, $30, $25, $06, $08, $2B, $06, $01, $05, $05, $07, $02, + $02, $30, $19, $1A, $17, $68, $74, $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73, + $79, $6D, $63, $62, $2E, $63, $6F, $6D, $2F, $72, $70, $61, $30, $2E, $06, $08, + $2B, $06, $01, $05, $05, $07, $01, $01, $04, $22, $30, $20, $30, $1E, $06, $08, + $2B, $06, $01, $05, $05, $07, $30, $01, $86, $12, $68, $74, $74, $70, $3A, $2F, + $2F, $73, $2E, $73, $79, $6D, $63, $64, $2E, $63, $6F, $6D, $30, $36, $06, $03, + $55, $1D, $1F, $04, $2F, $30, $2D, $30, $2B, $A0, $29, $A0, $27, $86, $25, $68, + $74, $74, $70, $3A, $2F, $2F, $73, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F, + $6D, $2F, $75, $6E, $69, $76, $65, $72, $73, $61, $6C, $2D, $72, $6F, $6F, $74, + $2E, $63, $72, $6C, $30, $13, $06, $03, $55, $1D, $25, $04, $0C, $30, $0A, $06, + $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $28, $06, $03, $55, $1D, $11, + $04, $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04, + $03, $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34, + $38, $2D, $33, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $AF, $63, + $D6, $CA, $A3, $4E, $85, $72, $E0, $A7, $BC, $41, $F3, $29, $A2, $38, $7F, $80, + $75, $62, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, $80, $14, $B6, + $77, $FA, $69, $48, $47, $9F, $53, $12, $D5, $C2, $EA, $07, $32, $76, $07, $D1, + $97, $07, $19, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $0B, + $05, $00, $03, $82, $01, $01, $00, $75, $EA, $B0, $2D, $D5, $34, $19, $5C, $32, + $45, $FE, $0E, $E1, $D4, $4F, $A6, $78, $C1, $6F, $D7, $EA, $DD, $DC, $4F, $F3, + $A1, $C8, $81, $88, $F7, $A7, $8F, $15, $E6, $40, $29, $AD, $E6, $5D, $F4, $A2, + $D9, $56, $64, $84, $71, $30, $2A, $DD, $1E, $61, $17, $66, $20, $56, $06, $98, + $19, $8D, $5D, $71, $F2, $F8, $97, $BC, $09, $FD, $1C, $91, $47, $C9, $E2, $E8, + $8D, $03, $FB, $CC, $90, $2F, $D6, $0A, $6C, $4E, $33, $EC, $D6, $B4, $93, $C8, + $4C, $90, $63, $48, $39, $40, $21, $C4, $DD, $D6, $6E, $89, $98, $3C, $B5, $98, + $97, $E8, $A9, $06, $B7, $09, $C9, $8F, $53, $57, $41, $90, $2F, $E1, $1E, $4D, + $4E, $DC, $CA, $10, $78, $6C, $42, $6E, $F0, $B6, $C5, $F8, $61, $5C, $52, $F5, + $4E, $F6, $6B, $8D, $F7, $4A, $7A, $BE, $F3, $CD, $FD, $03, $D7, $D9, $F6, $03, + $A8, $0F, $E3, $53, $F7, $0A, $75, $EC, $C6, $75, $2E, $AA, $66, $85, $04, $99, + $B7, $F8, $06, $57, $E1, $C6, $0E, $F6, $E8, $AF, $DA, $EC, $9B, $18, $1F, $AA, + $B9, $E3, $3A, $00, $BF, $CE, $8A, $94, $CB, $01, $DB, $9E, $C7, $38, $BB, $0F, + $52, $AB, $D1, $E3, $94, $03, $60, $0A, $4D, $A0, $FE, $27, $6D, $14, $32, $FC, + $3F, $97, $40, $E1, $BF, $99, $89, $DB, $E4, $39, $14, $BD, $DA, $E4, $D3, $C3, + $EA, $2B, $5A, $B3, $95, $58, $55, $04, $7D, $C7, $9A, $EC, $23, $03, $8D, $85, + $2A, $D2, $FF, $AE, $A9, $61, $81, $30, $82, $05, $4B, $30, $82, $04, $33, $A0, + $03, $02, $01, $02, $02, $10, $7B, $D4, $E5, $AF, $BA, $CC, $07, $3F, $A1, $01, + $23, $04, $22, $41, $4D, $12, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, + $01, $01, $0B, $05, $00, $30, $77, $31, $0B, $30, $09, $06, $03, $55, $04, $06, + $13, $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, + $79, $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, + $69, $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, + $77, $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04, $03, $13, $1F, $53, + $79, $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, + $69, $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41, $30, $1E, + $17, $0D, $31, $37, $31, $32, $32, $33, $30, $30, $30, $30, $30, $30, $5A, $17, + $0D, $32, $39, $30, $33, $32, $32, $32, $33, $35, $39, $35, $39, $5A, $30, $81, + $80, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $55, $53, $31, $1D, + $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, $6D, $61, $6E, $74, $65, + $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, $6F, $6E, $31, $1F, $30, + $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, $6D, $61, $6E, $74, $65, $63, + $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77, $6F, $72, $6B, $31, $31, + $30, $2F, $06, $03, $55, $04, $03, $13, $28, $53, $79, $6D, $61, $6E, $74, $65, + $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, $69, $6D, $65, $53, $74, $61, + $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E, $65, $72, $20, $2D, $20, $47, + $33, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, + $01, $00, $AF, $0E, $8A, $AA, $F8, $DC, $BF, $69, $7B, $54, $17, $71, $47, $09, + $BD, $8D, $3C, $81, $F8, $74, $15, $77, $67, $90, $9C, $FD, $DE, $4E, $02, $9E, + $4B, $76, $F6, $E5, $36, $3E, $65, $D5, $24, $20, $6D, $30, $F9, $DD, $1D, $83, + $E9, $3F, $27, $4A, $33, $4E, $6D, $16, $8A, $E4, $8D, $40, $8D, $22, $AA, $BE, + $A7, $0B, $1B, $D2, $07, $B6, $3C, $B5, $1A, $24, $28, $F8, $1B, $72, $51, $3D, + $C8, $09, $88, $26, $08, $3A, $F9, $FA, $43, $23, $75, $47, $70, $0C, $B3, $5F, + $5B, $8F, $08, $1D, $72, $48, $57, $65, $4D, $AF, $02, $3C, $40, $F7, $F4, $DD, + $32, $38, $93, $3F, $E5, $2C, $A6, $F3, $59, $23, $CB, $80, $DE, $13, $4D, $F9, + $10, $C9, $AA, $0A, $18, $6C, $55, $61, $57, $D1, $F1, $02, $2C, $C4, $B5, $AB, + $F2, $6C, $23, $D2, $9F, $0D, $0F, $19, $6C, $AD, $85, $62, $69, $FD, $4E, $85, + $C1, $8A, $52, $31, $AB, $5B, $D8, $C9, $74, $52, $E3, $57, $6C, $22, $BF, $55, + $7F, $6F, $CA, $06, $AB, $3F, $4A, $B7, $22, $76, $65, $EC, $EC, $36, $F2, $96, + $95, $81, $26, $2C, $FD, $BB, $98, $AA, $01, $38, $D3, $AF, $25, $40, $9B, $09, + $53, $F0, $29, $57, $85, $58, $5E, $EA, $85, $48, $41, $21, $87, $E5, $DE, $B4, + $D3, $26, $B2, $7B, $40, $53, $58, $79, $8E, $52, $31, $06, $4D, $94, $03, $45, + $C4, $CE, $3C, $03, $EC, $B7, $00, $F2, $3A, $22, $C5, $B4, $6F, $E5, $EF, $B0, + $8A, $9B, $02, $03, $01, $00, $01, $A3, $82, $01, $C7, $30, $82, $01, $C3, $30, + $0C, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $02, $30, $00, $30, $66, $06, + $03, $55, $1D, $20, $04, $5F, $30, $5D, $30, $5B, $06, $0B, $60, $86, $48, $01, + $86, $F8, $45, $01, $07, $17, $03, $30, $4C, $30, $23, $06, $08, $2B, $06, $01, + $05, $05, $07, $02, $01, $16, $17, $68, $74, $74, $70, $73, $3A, $2F, $2F, $64, + $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F, $6D, $2F, $63, $70, $73, $30, $25, + $06, $08, $2B, $06, $01, $05, $05, $07, $02, $02, $30, $19, $1A, $17, $68, $74, + $74, $70, $73, $3A, $2F, $2F, $64, $2E, $73, $79, $6D, $63, $62, $2E, $63, $6F, + $6D, $2F, $72, $70, $61, $30, $40, $06, $03, $55, $1D, $1F, $04, $39, $30, $37, + $30, $35, $A0, $33, $A0, $31, $86, $2F, $68, $74, $74, $70, $3A, $2F, $2F, $74, + $73, $2D, $63, $72, $6C, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, $65, + $63, $2E, $63, $6F, $6D, $2F, $73, $68, $61, $32, $35, $36, $2D, $74, $73, $73, + $2D, $63, $61, $2E, $63, $72, $6C, $30, $16, $06, $03, $55, $1D, $25, $01, $01, + $FF, $04, $0C, $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, + $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $07, $80, $30, + $77, $06, $08, $2B, $06, $01, $05, $05, $07, $01, $01, $04, $6B, $30, $69, $30, + $2A, $06, $08, $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1E, $68, $74, $74, + $70, $3A, $2F, $2F, $74, $73, $2D, $6F, $63, $73, $70, $2E, $77, $73, $2E, $73, + $79, $6D, $61, $6E, $74, $65, $63, $2E, $63, $6F, $6D, $30, $3B, $06, $08, $2B, + $06, $01, $05, $05, $07, $30, $02, $86, $2F, $68, $74, $74, $70, $3A, $2F, $2F, + $74, $73, $2D, $61, $69, $61, $2E, $77, $73, $2E, $73, $79, $6D, $61, $6E, $74, + $65, $63, $2E, $63, $6F, $6D, $2F, $73, $68, $61, $32, $35, $36, $2D, $74, $73, + $73, $2D, $63, $61, $2E, $63, $65, $72, $30, $28, $06, $03, $55, $1D, $11, $04, + $21, $30, $1F, $A4, $1D, $30, $1B, $31, $19, $30, $17, $06, $03, $55, $04, $03, + $13, $10, $54, $69, $6D, $65, $53, $74, $61, $6D, $70, $2D, $32, $30, $34, $38, + $2D, $36, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $A5, $13, $01, + $A9, $9F, $85, $CC, $1B, $6E, $16, $1E, $5F, $3B, $31, $AA, $79, $36, $00, $7B, + $1D, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, $80, $14, $AF, $63, + $D6, $CA, $A3, $4E, $85, $72, $E0, $A7, $BC, $41, $F3, $29, $A2, $38, $7F, $80, + $75, $62, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $0B, $05, + $00, $03, $82, $01, $01, $00, $46, $9E, $AF, $F0, $B8, $A2, $5F, $A2, $99, $48, + $CF, $A8, $27, $4B, $21, $CD, $B2, $B9, $A6, $72, $70, $63, $2F, $E3, $55, $29, + $7B, $39, $46, $4E, $E7, $7E, $65, $06, $58, $8B, $BC, $57, $8A, $92, $0D, $08, + $D8, $10, $BA, $36, $24, $FA, $0A, $7B, $FB, $3B, $D3, $62, $BF, $4A, $94, $15, + $E6, $82, $DB, $8A, $54, $6D, $FF, $28, $FE, $67, $CF, $71, $3F, $E6, $33, $09, + $D9, $A2, $59, $10, $F4, $1E, $4A, $FE, $65, $CC, $DE, $D4, $6B, $E3, $52, $29, + $75, $00, $4A, $2B, $A5, $CC, $CB, $9B, $E8, $A9, $4D, $F7, $B4, $17, $59, $92, + $41, $C3, $B7, $3F, $86, $E6, $F6, $C0, $7F, $44, $3C, $46, $5C, $17, $5A, $E3, + $A4, $3B, $D5, $69, $26, $D5, $21, $7D, $E1, $80, $67, $7E, $62, $AC, $B7, $4E, + $2E, $15, $9A, $E5, $9C, $23, $AF, $5B, $11, $EA, $71, $A9, $41, $F9, $0D, $79, + $38, $A9, $A1, $0D, $CF, $B4, $B1, $DA, $3E, $9A, $7A, $C7, $22, $C5, $74, $CD, + $DF, $47, $09, $86, $C4, $FC, $91, $25, $B2, $1B, $96, $E9, $85, $08, $E8, $DD, + $EA, $74, $60, $6E, $60, $A5, $56, $7A, $0D, $C8, $44, $58, $DC, $E6, $F9, $48, + $14, $9E, $E5, $BF, $DE, $00, $BD, $77, $B1, $98, $14, $72, $14, $24, $DF, $C7, + $11, $2C, $1F, $00, $3F, $C3, $4B, $14, $C6, $67, $1C, $CC, $1E, $06, $A3, $90, + $5F, $5C, $54, $8B, $3E, $E3, $33, $5B, $82, $0F, $C5, $B7, $86, $02, $4E, $71, + $9F, $E9, $66, $45, $3F, $76, $31, $82, $02, $5A, $30, $82, $02, $56, $02, $01, + $01, $30, $81, $8B, $30, $77, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, + $02, $55, $53, $31, $1D, $30, $1B, $06, $03, $55, $04, $0A, $13, $14, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $43, $6F, $72, $70, $6F, $72, $61, $74, $69, + $6F, $6E, $31, $1F, $30, $1D, $06, $03, $55, $04, $0B, $13, $16, $53, $79, $6D, + $61, $6E, $74, $65, $63, $20, $54, $72, $75, $73, $74, $20, $4E, $65, $74, $77, + $6F, $72, $6B, $31, $28, $30, $26, $06, $03, $55, $04, $03, $13, $1F, $53, $79, + $6D, $61, $6E, $74, $65, $63, $20, $53, $48, $41, $32, $35, $36, $20, $54, $69, + $6D, $65, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, $43, $41, $02, $10, $7B, + $D4, $E5, $AF, $BA, $CC, $07, $3F, $A1, $01, $23, $04, $22, $41, $4D, $12, $30, + $0B, $06, $09, $60, $86, $48, $01, $65, $03, $04, $02, $01, $A0, $81, $A4, $30, + $1A, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B, + $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04, $30, $1C, $06, $09, $2A, + $86, $48, $86, $F7, $0D, $01, $09, $05, $31, $0F, $17, $0D, $31, $39, $30, $37, + $32, $30, $31, $37, $34, $38, $32, $30, $5A, $30, $2F, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $09, $04, $31, $22, $04, $20, $45, $73, $B2, $C5, $44, $4D, + $AC, $68, $C3, $CF, $7C, $EB, $BF, $68, $30, $A7, $ED, $51, $18, $39, $DB, $AC, + $26, $B2, $07, $70, $FC, $29, $AA, $E6, $C5, $69, $30, $37, $06, $0B, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $10, $02, $2F, $31, $28, $30, $26, $30, $24, $30, + $22, $04, $20, $C4, $74, $CE, $76, $00, $7D, $02, $39, $4E, $0D, $A5, $E4, $DE, + $7C, $14, $C6, $80, $F9, $E2, $82, $01, $3C, $FE, $F6, $53, $EF, $5D, $B7, $1F, + $DF, $61, $F8, $30, $0B, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, + $04, $82, $01, $00, $1A, $2B, $CD, $AA, $4F, $73, $CE, $EE, $35, $D4, $77, $1C, + $59, $A6, $28, $09, $F8, $2A, $D7, $BE, $58, $55, $D4, $5A, $FB, $EB, $DF, $BC, + $97, $CB, $53, $CD, $ED, $12, $1C, $B5, $95, $86, $D3, $FA, $26, $BA, $4D, $AB, + $04, $F2, $11, $40, $86, $55, $2D, $5C, $D0, $EE, $2D, $CC, $D8, $29, $1F, $1F, + $65, $B4, $AD, $AD, $01, $FA, $2E, $E0, $63, $CF, $D7, $22, $96, $C9, $42, $AE, + $E9, $B7, $68, $97, $65, $6F, $B0, $BA, $54, $34, $41, $09, $40, $20, $15, $A5, + $B2, $39, $DA, $18, $F5, $78, $F0, $83, $8B, $F4, $C5, $28, $98, $10, $C4, $C9, + $31, $2A, $F4, $9D, $71, $8D, $E4, $00, $04, $3C, $7F, $9D, $38, $8E, $70, $54, + $4E, $11, $DE, $98, $FF, $B1, $85, $44, $D1, $CB, $21, $C6, $10, $CC, $C3, $2B, + $78, $72, $51, $C3, $EB, $AA, $2D, $C4, $3A, $A8, $64, $8C, $19, $C5, $A0, $95, + $EE, $B3, $6D, $CB, $11, $78, $74, $4E, $87, $3C, $E8, $35, $92, $53, $D5, $FB, + $90, $83, $30, $34, $81, $6E, $B0, $5B, $CE, $A8, $FF, $F3, $31, $CA, $FF, $70, + $D7, $AD, $C0, $52, $68, $B6, $90, $53, $14, $D2, $73, $64, $93, $F5, $D4, $2D, + $7E, $83, $59, $13, $CE, $EB, $59, $9D, $A0, $D2, $94, $0C, $7B, $05, $DA, $53, + $90, $7B, $3B, $A9, $12, $75, $F7, $A2, $66, $9F, $C3, $8E, $C9, $AB, $3E, $95, + $4A, $B5, $CE, $11, $3E, $87, $FF, $63, $C7, $93, $CD, $3C, $DF, $3D, $F7, $0B, + $C2, $14, $4D, $EA, $00, $00, $00, $00 + ); + diff --git a/10.3.2/Activator/PatchData.pas b/10.3.2/Activator/PatchData.pas new file mode 100644 index 0000000..4ac0440 --- /dev/null +++ b/10.3.2/Activator/PatchData.pas @@ -0,0 +1,26 @@ +{ *********************************************************************** } +{ } +{ ߵԪ } +{ } +{ ƣLsuper 2013.02.16 } +{ ע } +{ ˣ } +{ } +{ Copyright (c) 1998-2014 Super Studio } +{ } +{ *********************************************************************** } + +unit PatchData; + +interface + +uses + SysUtils, Classes; + +const + +{$I PatchData.inc} { ļ } + +implementation + +end. diff --git a/10.3.2/Activator/TMainForm.inc b/10.3.2/Activator/TMainForm.inc new file mode 100644 index 0000000..5de11a9 --- /dev/null +++ b/10.3.2/Activator/TMainForm.inc @@ -0,0 +1 @@ +TMainForm = class(TObj) diff --git a/10.3.2/Activator/TMainFormclass.inc b/10.3.2/Activator/TMainFormclass.inc new file mode 100644 index 0000000..547a4cd --- /dev/null +++ b/10.3.2/Activator/TMainFormclass.inc @@ -0,0 +1 @@ +TMainForm = class; PMainForm = TMainForm; diff --git a/10.3.2/Activator/WinUtils.pas b/10.3.2/Activator/WinUtils.pas new file mode 100644 index 0000000..7168e4e --- /dev/null +++ b/10.3.2/Activator/WinUtils.pas @@ -0,0 +1,383 @@ +{ *********************************************************************** } +{ } +{ Win Ԫ } +{ } +{ ƣLsuper 2013.04.26 } +{ ע } +{ ˣ } +{ } +{ Copyright (c) 1998-2014 Super Studio } +{ } +{ *********************************************************************** } + +unit WinUtils; + +{$WARNINGS OFF} + +interface + +uses + SysUtils, Windows; + +function GetCommandLineOutput(const ACommandLine, AWorkDir: string; + out ExitCode: LongWord): string; +function GetFileBuildVersion(const AFile: string): Integer; +function GetShellFolderPath(nFolder: Integer): string; +function GetWindowsPath: string; + +function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string; + const Icon, Buttons: Integer): Integer; +function IsWindowsVista: Boolean; + +procedure Delay(ASeconds: Double); + +function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar; + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; + bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; + lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; + var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean; +function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean; + +procedure LogMessage(const AMessage: string); + +procedure ShowMessage(const ACaption, AMessage: string); +procedure ShowError(const AMessage: string); + +procedure SetMainFormHandle(const AHandle: HWND); + +implementation + +uses + ShlObj; + +const + TD_BUTTON_OK = 01; + TD_BUTTON_YES = 02; + TD_BUTTON_NO = 04; + TD_BUTTON_CANCEL = 08; + TD_BUTTON_RETRY = 16; + TD_BUTTON_CLOSE = 32; + + TD_ICON_BLANK = 00; + TD_ICON_WARNING = 84; + TD_ICON_QUESTION = 99; + TD_ICON_ERROR = 98; + TD_ICON_INFORMATION = 81; + + TD_ICON_SHIELD_QUESTION = 104; + TD_ICON_SHIELD_ERROR = 105; + TD_ICON_SHIELD_OK = 106; + TD_ICON_SHIELD_WARNING = 107; + +var + MainFormHandle: HWND = 0; + +//////////////////////////////////////////////////////////////////////////////// +// ˵ӳn +// ASeconds -- ӳ +//////////////////////////////////////////////////////////////////////////////// +procedure Delay(ASeconds: Double); + //////////////////////////////////////////////////////////////////////////////// + //: Lsuper 2004.11.10 + //: Ϣѭֹ + // + //////////////////////////////////////////////////////////////////////////////// + procedure ProcessMessages; + const + WM_QUIT = $0012; + var + Msg: TMsg; + begin + while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do + begin + if Msg.Message = WM_QUIT then + Halt(Msg.wParam); + TranslateMessage(Msg); + DispatchMessage(Msg); + end; + end; +var + nTimeOut: TDateTime; + nHours, nMins, nSeconds, nMilliSecs: Integer; +begin + nSeconds := Trunc(ASeconds); + nMilliSecs := Round(Frac(ASeconds) * 1000); + nHours := nSeconds div 3600; + nMins := (nSeconds mod 3600) div 60; + nSeconds := nSeconds mod 60; + nTimeOut := Now + EncodeTime(nHours, nMins, nSeconds, nMilliSecs); + // wait until the TimeOut time + while Now < nTimeOut do + ProcessMessages; +end; + +//////////////////////////////////////////////////////////////////////////////// +//: Lsuper 2003.09.21 +//: ȡе +// +//////////////////////////////////////////////////////////////////////////////// +function GetCommandLineOutput(const ACommandLine, AWorkDir: string; + out ExitCode: LongWord): string; +var + strCommandLine, + strWorkDir: string; + strOutLine, + strBuffer: AnsiString; + bRunResult: Boolean; + nBytesRead: Cardinal; + nStdOutPipeRead, + nStdOutPipeWrite: THandle; + PI: TProcessInformation; + SA: TSecurityAttributes; + SI: TStartupInfo; +begin + with SA do + begin + nLength := SizeOf(SA); + bInheritHandle := True; + lpSecurityDescriptor := nil; + end; + if not CreatePipe(nStdOutPipeRead, nStdOutPipeWrite, @SA, 0) then + RaiseLastOSError; + try + with SI do + begin + FillChar(SI, SizeOf(SI), 0); + cb := SizeOf(SI); + dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES; + wShowWindow := SW_HIDE; + hStdInput := GetStdHandle(STD_INPUT_HANDLE); + hStdOutput := nStdOutPipeWrite; + hStdError := nStdOutPipeWrite; + end; + if DirectoryExists(AWorkDir) then + strWorkDir := AWorkDir + else strWorkDir := GetCurrentDir; + strCommandLine := ACommandLine; + UniqueString(strCommandLine); + bRunResult := CreateProcess(nil, PChar(strCommandLine), nil, nil, True, 0, nil, + PChar(strWorkDir), SI, PI); + CloseHandle(nStdOutPipeWrite); + if bRunResult then + try + strOutLine := ''; + SetLength(strBuffer, MAXBYTE); + repeat + nBytesRead := 0; + bRunResult := ReadFile(nStdOutPipeRead, PAnsiChar(strBuffer)^, Length(strBuffer), nBytesRead, nil); + if nBytesRead > 0 then + strOutLine := strOutLine + Copy(strBuffer, 1, nBytesRead); + until not bRunResult or (nBytesRead = 0); + WaitForSingleObject(PI.hProcess, INFINITE); + GetExitCodeProcess(PI.hProcess, ExitCode); + finally + CloseHandle(PI.hThread); + CloseHandle(PI.hProcess); + end + else RaiseLastOSError; + finally + CloseHandle(nStdOutPipeRead); + Result := string(strOutLine); + end; +end; + +function GetFileBuildVersion(const AFile: string): Integer; +var + nInfoSize, dwHandle: DWORD; + cFileInfo: PVSFixedFileInfo; + nVerSize: DWORD; + strBuffer: AnsiString; +begin + Result := 0; + nInfoSize := GetFileVersionInfoSize(PChar(AFile), dwHandle); + if nInfoSize = 0 then + Exit; + SetLength(strBuffer, nInfoSize); + if not GetFileVersionInfo(PChar(AFile), dwHandle, nInfoSize, Pointer(strBuffer)) then + Exit; + if VerQueryValue(Pointer(strBuffer), '\', Pointer(cFileInfo), nVerSize) then + Result := LOWORD(cFileInfo.dwFileVersionLS); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2010.04.09 +//ܣȡ Shell ļλã GetSpecialFolderPath(CSIDL_COMMON_APPDATA) +// +//////////////////////////////////////////////////////////////////////////////// +function GetShellFolderPath(nFolder: Integer): string; +begin + SetLength(Result, MAX_PATH); + SHGetSpecialFolderPath(0, PChar(Result), nFolder, False); + SetLength(Result, StrLen(PChar(Result))); + if (Result <> '') and (Result[Length(Result)] <> '\') then + Result := Result + '\'; +end; + +function GetWindowsPath: string; +var + nRet: LongWord; +begin + SetLength(Result, MAX_PATH); + nRet := GetWindowsDirectory(PChar(Result), MAX_PATH); + if nRet = 0 then + Result := '' + else begin + SetLength(Result, nRet); + if (Result <> '') and (Result[Length(Result)] <> '\') then + Result := Result + '\'; + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣע +// +//ע⣺ 500ms ȴʱ䣬ȷ dll سɹִ +//////////////////////////////////////////////////////////////////////////////// +function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar; + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; + bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; + lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; + var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean; +begin + Result := False; + if not CreateProcess(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags or CREATE_SUSPENDED, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) then + Exit; + Result := InjectLibraryModule(lpProcessInformation.hProcess, ALibraryName); +{ + Result := uallHook.InjectLibrary(lpProcessInformation.dwProcessId, PChar(ALibraryName)); +} + Sleep(500); + ResumeThread(lpProcessInformation.hThread); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣע DLL +// +//////////////////////////////////////////////////////////////////////////////// +function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean; +var + dwProcessID2: DWord; + dwMemSize: DWord; + dwWritten: DWord; + dwThreadID: DWord; + pLLA: Pointer; + pTargetMemory: Pointer; +begin + Assert(ALibraryName <> ''); + Result := False; + dwProcessID2 := OpenProcess(PROCESS_ALL_ACCESS, False, AProcessID); + if (dwProcessID2 <> 0) then + AProcessID := dwProcessID2; + dwMemSize := Length(ALibraryName) + 1; + pTargetMemory := VirtualAllocEx(AProcessID, nil, dwMemSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE); + pLLA := GetProcAddress(GetModuleHandleA('kernel32.dll'), 'LoadLibraryA'); + if (pLLA <> nil) and (pTargetMemory <> nil) then + begin + if WriteProcessMemory(AProcessID, pTargetMemory, PChar(ALibraryName), dwMemSize, dwWritten) and (dwWritten = dwMemSize) then + Result := CreateRemoteThread(AProcessID, nil, 0, pLLA, pTargetMemory, 0, dwThreadID) <> 0; + end; + if (dwProcessID2 <> 0) then + CloseHandle(dwProcessID2); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.10.25 +//ܣжǷ Vista/7 +// +//////////////////////////////////////////////////////////////////////////////// +function IsWindowsVista: Boolean; +var + hKernel32: HMODULE; +begin + hKernel32 := GetModuleHandle('kernel32'); + if hKernel32 > 0 then + Result := GetProcAddress(hKernel32, 'GetLocaleInfoEx') <> nil + else Result := false; +end; + +procedure LogMessage(const AMessage: string); +begin + OutputDebugString(PChar(AMessage)); +end; + +procedure SetMainFormHandle(const AHandle: HWND); +begin + MainFormHandle := AHandle; +end; + +procedure ShowError(const AMessage: string); +begin + TaskMessageBox(MainFormHandle, AMessage, 'Error', TD_ICON_ERROR, TD_BUTTON_OK); +end; + +procedure ShowMessage(const ACaption, AMessage: string); +begin + TaskMessageBox(MainFormHandle, AMessage, ACaption, TD_ICON_INFORMATION, TD_BUTTON_OK); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.10.25 +//: ڲʹõʾԻĺӦ Vista/7 ϵͳ +// +//ע⣺ο Application MessageBox Dialogs 룬Զʾжϴ +// http://www.tmssoftware.com/site/atbdev5.asp +//////////////////////////////////////////////////////////////////////////////// +function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string; + const Icon, Buttons: Integer): Integer; +const + conTaskDialogProcName = 'TaskDialog'; +var + DLLHandle: THandle; + wTitle, wContent: array[0..1024] of widechar; + TaskDialogProc: function(HWND: THandle; hInstance: THandle; cTitle, + cDescription, cContent: PWideChar; Buttons: Integer; Icon: Integer; + ResButton: PInteger): Integer; cdecl stdcall; + Flags: Integer; +begin + Result := 0; + if IsWindowsVista then + begin + DLLHandle := LoadLibrary(comctl32); + @TaskDialogProc := GetProcAddress(DLLHandle, conTaskDialogProcName); + end + else TaskDialogProc := nil; + if Assigned(TaskDialogProc) then + begin + StringToWideChar(ACaption, wTitle, SizeOf(wTitle)); + StringToWideChar(AText, wContent, SizeOf(wContent)); + TaskDialogProc(AHandle, 0, wTitle, nil, wContent, Buttons, Icon, @Result); + end + else begin + Flags := 0; + if Buttons = TD_BUTTON_OK then + Flags := MB_OK; + if Buttons = TD_BUTTON_OK or TD_BUTTON_CANCEL then + Flags := MB_OKCANCEL; + if Buttons = TD_BUTTON_CLOSE or TD_BUTTON_RETRY or TD_BUTTON_CANCEL then + Flags := MB_ABORTRETRYIGNORE; + if Buttons = TD_BUTTON_YES or TD_BUTTON_NO or TD_BUTTON_CANCEL then + Flags := MB_YESNOCANCEL; + if Buttons = TD_BUTTON_YES or TD_BUTTON_NO then + Flags := MB_YESNO; + if Buttons = TD_BUTTON_RETRY or TD_BUTTON_CANCEL then + Flags := MB_RETRYCANCEL; + case Icon of + TD_ICON_BLANK: + ; + TD_ICON_WARNING, TD_ICON_SHIELD_WARNING: + Flags := Flags or MB_ICONWARNING; + TD_ICON_QUESTION, TD_ICON_SHIELD_QUESTION: + Flags := Flags or MB_ICONQUESTION; + TD_ICON_ERROR, TD_ICON_SHIELD_ERROR: + Flags := Flags or MB_ICONERROR; + TD_ICON_INFORMATION, TD_ICON_SHIELD_OK: + Flags := Flags or MB_ICONINFORMATION; + end; + Result := Windows.MessageBox(AHandle, PChar(AText), PChar(ACaption), Flags); + end; +end; + +end. + diff --git a/10.3.2/Activator/uses.inc b/10.3.2/Activator/uses.inc new file mode 100644 index 0000000..62c25ab --- /dev/null +++ b/10.3.2/Activator/uses.inc @@ -0,0 +1,9 @@ +{ KOL MCK } // Do not remove this line! +{ uses.inc + This file is generated automatically - do not modify it manually. + It is included to be recognized by compiler, but replacing word + with compiler directive <$I uses.inc> fakes auto-completion + preventing it from automatic references adding to VCL units into + uses clause aimed for KOL environment only. } + +uses diff --git a/10.3.2/Dcu/dirinfo.txt b/10.3.2/Dcu/dirinfo.txt new file mode 100644 index 0000000..38bc9b2 --- /dev/null +++ b/10.3.2/Dcu/dirinfo.txt @@ -0,0 +1 @@ +This directory is intended as a common place for sample application's EXE files \ No newline at end of file diff --git a/10.3.2/Keygen/AnsiStrings.pas b/10.3.2/Keygen/AnsiStrings.pas new file mode 100644 index 0000000..a0e5ad5 --- /dev/null +++ b/10.3.2/Keygen/AnsiStrings.pas @@ -0,0 +1,7 @@ +unit AnsiStrings; + +interface + +implementation + +end. diff --git a/10.3.2/Keygen/FGInt.pas b/10.3.2/Keygen/FGInt.pas new file mode 100644 index 0000000..e0e032c --- /dev/null +++ b/10.3.2/Keygen/FGInt.pas @@ -0,0 +1,2282 @@ +{License, info, etc + ------------------ +This implementation is made by me, Walied Othman, to contact me +mail to rainwolf@submanifold.be or triade@submanifold.be , +always mention wether it 's about the FGInt or about the 6xs, +preferably in the subject line. +This source code is free, but only to other free software, +it's a two-way street, if you use this code in an application from which +you won't make any money of (e.g. software for the good of mankind) +then go right ahead, I won't stop you, I do demand acknowledgement for +my work. However, if you're using this code in a commercial application, +an application from which you'll make money, then yes, I charge a +license-fee, as described in the license agreement for commercial use, see +the textfile in this zip-file. +If you 're going to use these implementations, let me know, so I ca, put a link +on my page if desired, I 'm always curious as to see where the spawn of my +mind ends up in. If any algorithm is patented in your country, you should +acquire a license before using this software. Modified versions of this +software must contain an acknowledgement of the original author (=me). + +This implementation is available at +http://www.submanifold.be + +copyright 2000, Walied Othman +This header may not be removed.} + +Unit FGInt; + +{$H+} + +{$WARN COMBINING_SIGNED_UNSIGNED OFF} + +Interface + +Uses SysUtils, Math; + +Type + TCompare = (Lt, St, Eq, Er); + TSign = (negative, positive); + TFGInt = Record + Sign : TSign; + Number : Array Of LongWord; + End; + +Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString); +Procedure zeronetochar6(Var g : integer; Const x : AnsiString); +Procedure initialize8(Var trans : Array Of AnsiString); +Procedure initialize6(Var trans : Array Of AnsiString); +Procedure initialize6PGP(Var trans : Array Of AnsiString); +Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString); +Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString); +Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString); +Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString); +Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString); +Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString); +Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString); +Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString); +Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString); +Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString); +Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString); +Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString); +Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString); +Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt); +Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString); +Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString); +Procedure FGIntDestroy(Var FGInt : TFGInt); +Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare; +Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt); +Procedure FGIntChangeSign(Var FGInt : TFGInt); +Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt); +Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord); +Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord); +Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntAbs(Var FGInt : TFGInt); +Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt); +Procedure FGIntShiftLeft(Var FGInt : TFGInt); +Procedure FGIntShiftRight(Var FGInt : TFGInt); +Procedure FGIntShiftRightBy31(Var FGInt : TFGInt); +Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord); +Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt); +Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt); +Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt); +Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt); +Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt); +Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt); +Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt); +Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord); +Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt); +Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt); +Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt); +Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord); +Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord); +Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord); +Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt); +Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt); +Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt); +Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean); +Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt); +Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean); +Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt); +Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt); +Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean); +Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer); +Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt); + + + +Implementation + +Var + primes : Array[1..1228] Of integer = + (3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, + 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, + 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, + 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, + 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, + 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, + 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, + 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, + 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, + 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, + 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, + 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, + 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, + 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, + 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, + 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, + 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, + 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, + 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, + 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, + 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, + 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, + 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, + 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, + 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, + 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, + 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, + 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, + 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, + 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, + 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, + 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, + 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, + 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, + 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, + 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, + 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, + 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, + 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, + 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, + 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, + 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, + 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, + 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, + 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, + 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, + 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, + 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, + 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, + 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, + 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, + 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, + 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, + 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, + 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, + 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, + 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, + 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, + 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, + 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, + 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, + 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, + 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973); + chr64 : Array[1..64] Of AnsiChar = ('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', + 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', + 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', + 'z', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '='); + PGPchr64 : Array[1..64] Of AnsiChar = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', + 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'); + + + +Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString); +Var + i : Integer; + b : byte; +Begin + b := 0; + For i := 1 To 8 Do + Begin + If copy(x, i, 1) = '1' Then + b := b Or (1 Shl (8 - I)); + End; + g := AnsiChar(b); +End; + + +Procedure zeronetochar6(Var g : integer; Const x : AnsiString); +Var + I : Integer; +Begin + G := 0; + For I := 1 To Length(X) Do + Begin + If I > 6 Then + Break; + If X[I] <> '0' Then + G := G Or (1 Shl (6 - I)); + End; + Inc(G); +End; + + +Procedure initialize8(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6, c7, c8 : integer; + x : AnsiString; + g : AnsiChar; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + For c7 := 0 To 1 Do + For c8 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6) + AnsiChar(48+c7) + AnsiChar(48+c8); + zeronetochar8(g, x); + trans[ord(g)] := x; + End; +End; + + +Procedure initialize6(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6 : integer; + x : AnsiString; + g : integer; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6); + zeronetochar6(g, x); + trans[ord(chr64[g])] := x; + End; +End; + +Procedure initialize6PGP(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6 : integer; + x : AnsiString; + g : integer; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6); + zeronetochar6(g, x); + trans[ord(PGPchr64[g])] := x; + End; +End; + + +// Convert base 8 strings to base 6 strings and visa versa + +Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString); +Var + temp : AnsiString; + trans : Array[0..255] Of AnsiString; + i, len6 : longint; + g : integer; +Begin + initialize8(trans); + temp := ''; + For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])]; + While (length(temp) Mod 6) <> 0 Do temp := temp + '0'; + len6 := length(temp) Div 6; + str64 := ''; + For i := 1 To len6 Do + Begin + zeronetochar6(g, copy(temp, 1, 6)); + str64 := str64 + chr64[g]; + delete(temp, 1, 6); + End; +End; + + +Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString); +Var + temp : AnsiString; + trans : Array[0..255] Of AnsiString; + i, len8 : longint; + g : AnsiChar; +Begin + initialize6(trans); + temp := ''; + For i := 1 To length(str64) Do temp := temp + trans[ord(str64[i])]; + str256 := ''; + len8 := length(temp) Div 8; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(temp, 1, 8)); + str256 := str256 + g; + delete(temp, 1, 8); + End; +End; + + +// Convert base 8 & 6 bit strings to base 2 strings and visa versa + +Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString); +Var + trans : Array[0..255] Of AnsiString; + i : longint; +Begin + str2 := ''; + initialize8(trans); + For i := 1 To length(str256) Do str2 := str2 + trans[ord(str256[i])]; +End; + + +Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString); +Var + trans : Array[0..255] Of AnsiString; + i : longint; +Begin + str2 := ''; + initialize6(trans); + For i := 1 To length(str64) Do str2 := str2 + trans[ord(str64[i])]; +End; + + +Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString); +Var + i, len8 : longint; + g : AnsiChar; +Begin + str256 := ''; + While (length(str2) Mod 8) <> 0 Do str2 := '0' + str2; + len8 := length(str2) Div 8; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(str2, 1, 8)); + str256 := str256 + g; + delete(str2, 1, 8); + End; +End; + + +Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString); +Var + i, len6 : longint; + g : integer; +Begin + str64 := ''; + While (length(str2) Mod 6) <> 0 Do str2 := '0' + str2; + len6 := length(str2) Div 6; + For i := 1 To len6 Do + Begin + zeronetochar6(g, copy(str2, 1, 6)); + str64 := str64 + chr64[g]; + delete(str2, 1, 6); + End; +End; + + +// Convert base 256 strings to base 16 (HexaDecimal) strings and visa versa + +Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString); +Var + i : longint; + b : byte; +Begin + HexStr := ''; + For i := 1 To length(str256) Do + Begin + b := ord(str256[i]); + If (b Shr 4) < 10 Then HexStr := HexStr + AnsiChar(48 + (b Shr 4)) + Else HexStr := HexStr + AnsiChar(55 + (b Shr 4)); + If (b And 15) < 10 Then HexStr := HexStr + AnsiChar(48 + (b And 15)) + Else HexStr := HexStr + AnsiChar(55 + (b And 15)); + End; +End; + + +Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString); +Var + i : longint; + b, h1, h2 : byte; + temp : AnsiString; +Begin + Str256 := ''; + If (length(Hexstr) mod 2) = 1 Then temp := '0' + HexStr Else temp := HexStr; + For i := 1 To (length(temp) Div 2) Do + Begin + h2 := ord(temp[2 * i]); + h1 := ord(temp[2 * i - 1]); + If h1 < 58 Then + b := ((h1 - 48) Shl 4) + Else + b := ((h1 - 55) Shl 4); + If h2 < 58 Then + b := (b Or (h2 - 48)) + Else + b := (b Or ((h2 - 55) and 15)); + Str256 := Str256 + AnsiChar(b); + End; +End; + + +// Convert base 256 strings to base 64 strings and visa versa, PGP style + +Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString); +Var + temp, x, a : AnsiString; + i, len6 : longint; + g : integer; + trans : Array[0..255] Of AnsiString; +Begin + initialize8(trans); + temp := ''; + For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])]; + If (length(temp) Mod 6) = 0 Then a := '' Else + If (length(temp) Mod 6) = 4 Then + Begin + temp := temp + '00'; + a := '=' + End + Else + Begin + temp := temp + '0000'; + a := '==' + End; + str64 := ''; + len6 := length(temp) Div 6; + For i := 1 To len6 Do + Begin + x := copy(temp, 1, 6); + zeronetochar6(g, x); + str64 := str64 + PGPchr64[g]; + delete(temp, 1, 6); + End; + str64 := str64 + a; +End; + + +Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString); +Var + temp, x : AnsiString; + i, j, len8 : longint; + g : AnsiChar; + trans : Array[0..255] Of AnsiString; +Begin + initialize6PGP(trans); + temp := ''; + str256 := ''; + If str64[length(str64) - 1] = '=' Then j := 2 Else + If str64[length(str64)] = '=' Then j := 1 Else j := 0; + For i := 1 To (length(str64) - j) Do temp := temp + trans[ord(str64[i])]; + If j <> 0 Then delete(temp, length(temp) - 2 * j + 1, 2 * j); + len8 := length(temp) Div 8; + For i := 1 To len8 Do + Begin + x := copy(temp, 1, 8); + zeronetochar8(g, x); + str256 := str256 + g; + delete(temp, 1, 8); + End; +End; + +// Convert base 64 strings to base 2 strings, PGP style + + +Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString); +Var + i, j : longint; + trans : Array[0..255] Of AnsiString; +Begin + str2 := ''; + initialize6(trans); + If str64[length(str64) - 1] = '=' Then j := 2 Else + If str64[length(str64)] = '=' Then j := 1 Else j := 0; + For i := 1 To (length(str64) - j) Do str2 := str2 + trans[ord(str64[i])]; + delete(str2, length(str2) - 2 * j + 1, 2 * j); +End; + + +// Convert a FGInt to a binary AnsiString (base 2) & visa versa + +Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString); +Var + i : LongWord; + j : integer; +Begin + S := ''; + For i := 1 To FGInt.Number[0] Do + Begin + For j := 0 To 30 Do + If (1 And (FGInt.Number[i] Shr j)) = 1 Then + S := '1' + S + Else + S := '0' + S; + End; + While (length(S) > 1) And (S[1] = '0') Do + delete(S, 1, 1); + If S = '' Then S := '0'; +End; + + +Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt); +Var + i, j, size : LongWord; +Begin + While (S[1] = '0') And (length(S) > 1) Do + delete(S, 1, 1); + size := length(S) Div 31; + If (length(S) Mod 31) <> 0 Then size := size + 1; + SetLength(FGInt.Number, (size + 1)); + FGInt.Number[0] := size; + j := 1; + FGInt.Number[j] := 0; + i := 0; + While length(S) > 0 Do + Begin + If S[length(S)] = '1' Then + FGInt.Number[j] := FGInt.Number[j] Or (1 Shl i); + i := i + 1; + If i = 31 Then + Begin + i := 0; + j := j + 1; + If j <= size Then FGInt.Number[j] := 0; + End; + delete(S, length(S), 1); + End; + FGInt.Sign := positive; +End; + + +// Convert a FGInt to an base 256 AnsiString & visa versa + +Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString); +Var + temp1 : AnsiString; + i, len8 : LongWord; + g : AnsiChar; +Begin + FGIntToBase2String(FGInt, temp1); + While (length(temp1) Mod 8) <> 0 Do temp1 := '0' + temp1; + len8 := length(temp1) Div 8; + str256 := ''; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(temp1, 1, 8)); + str256 := str256 + g; + delete(temp1, 1, 8); + End; +End; + + +Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt); +Var + temp1 : AnsiString; + i : longint; + trans : Array[0..255] Of AnsiString; +Begin + temp1 := ''; + initialize8(trans); + For i := 1 To length(str256) Do temp1 := temp1 + trans[ord(str256[i])]; + While (temp1[1] = '0') And (temp1 <> '0') Do delete(temp1, 1, 1); + Base2StringToFGInt(temp1, FGInt); +End; + +// Convert an MPI (Multiple Precision Integer, PGP style) to an FGInt & +// visa versa + +Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt); +Var + temp : AnsiString; +Begin + temp := PGPMPI; + delete(temp, 1, 2); + Base256StringToFGInt(temp, FGInt); +End; + + +Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString); +Var + len, i : word; + c : AnsiChar; + b : byte; +Begin + FGIntToBase256String(FGInt, PGPMPI); + len := length(PGPMPI) * 8; + c := PGPMPI[1]; + For i := 7 Downto 0 Do If (ord(c) Shr i) = 0 Then len := len - 1 Else break; + b := len Mod 256; + PGPMPI := AnsiChar(b) + PGPMPI; + b := len Div 256; + PGPMPI := AnsiChar(b) + PGPMPI; +End; + + +// Convert a base 10 AnsiString to a FGInt + +Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt); +Var + i, size : LongWord; + j : word; + S, x : AnsiString; + sign : TSign; + + Procedure GIntDivByIntBis1(Var GInt : TFGInt; by : LongWord; Var modres : word); + Var + i, size, rest, temp : LongWord; + Begin + size := GInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp * 10000; + rest := temp + GInt.Number[i]; + GInt.Number[i] := rest Div by; + temp := rest Mod by; + End; + modres := temp; + While (GInt.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> GInt.Number[0] Then + Begin + SetLength(GInt.Number, size + 1); + GInt.Number[0] := size; + End; + End; + +Begin + While (Not (Base10[1] In ['-', '0'..'9'])) And (length(Base10) > 1) Do + delete(Base10, 1, 1); + If copy(Base10, 1, 1) = '-' Then + Begin + Sign := negative; + delete(Base10, 1, 1); + End + Else + Sign := positive; + While (length(Base10) > 1) And (copy(Base10, 1, 1) = '0') Do + delete(Base10, 1, 1); + size := length(Base10) Div 4; + If (length(Base10) Mod 4) <> 0 Then size := size + 1; + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; + For i := 1 To (size - 1) Do + Begin + x := copy(Base10, length(Base10) - 3, 4); + FGInt.Number[i] := StrToInt(string(x)); + delete(Base10, length(Base10) - 3, 4); + End; + FGInt.Number[size] := StrToInt(string(Base10)); + + S := ''; + While (FGInt.Number[0] <> 1) Or (FGInt.Number[1] <> 0) Do + Begin + GIntDivByIntBis1(FGInt, 2, j); + S := AnsiString(inttostr(j)) + S; + End; + If S = '' Then S := '0'; + FGIntDestroy(FGInt); + Base2StringToFGInt(S, FGInt); + FGInt.Sign := sign; +End; + + +// Convert a FGInt to a base 10 AnsiString + +Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString); +Var + S : AnsiString; + j : LongWord; + temp : TFGInt; +Begin + FGIntCopy(FGInt, temp); + Base10 := ''; + While (temp.Number[0] > 1) Or (temp.Number[1] > 0) Do + Begin + FGIntDivByIntBis(temp, 10000, j); + S := AnsiString(IntToStr(j)); + While Length(S) < 4 Do + S := '0' + S; + Base10 := S + Base10; + End; + Base10 := '0' + Base10; + While (length(Base10) > 1) And (Base10[1] = '0') Do + delete(Base10, 1, 1); + If FGInt.Sign = negative Then Base10 := '-' + Base10; +End; + + +// Destroy a FGInt to free memory + +Procedure FGIntDestroy(Var FGInt : TFGInt); +Begin + FGInt.Number := Nil; +End; + + +// Compare 2 FGInts in absolute value, returns +// Lt if FGInt1 > FGInt2, St if FGInt1 < FGInt2, Eq if FGInt1 = FGInt2, +// Er otherwise + +Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare; +Var + size1, size2, i : LongWord; +Begin + FGIntCompareAbs := Er; + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + If size1 > size2 Then FGIntCompareAbs := Lt Else + If size1 < size2 Then FGIntCompareAbs := St Else + Begin + i := size2; + While (FGInt1.Number[i] = FGInt2.Number[i]) And (i > 1) Do i := i - 1; + If FGInt1.Number[i] = FGInt2.Number[i] Then FGIntCompareAbs := Eq Else + If FGInt1.Number[i] < FGInt2.Number[i] Then FGIntCompareAbs := St Else + If FGInt1.Number[i] > FGInt2.Number[i] Then FGIntCompareAbs := Lt; + End; +End; + + +// Add 2 FGInts, FGInt1 + FGInt2 = Sum + +Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt); +Var + i, size1, size2, size, rest, Trest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + If size1 < size2 Then + FGIntAdd(FGInt2, FGInt1, Sum) + Else + Begin + If FGInt1.Sign = FGInt2.Sign Then + Begin + Sum.Sign := FGInt1.Sign; + setlength(Sum.Number, (size1 + 2)); + rest := 0; + For i := 1 To size2 Do + Begin + Trest := FGInt1.Number[i]; + Trest := Trest + FGInt2.Number[i]; + Trest := Trest + rest; + Sum.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + For i := (size2 + 1) To size1 Do + Begin + Trest := FGInt1.Number[i] + rest; + Sum.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + size := size1 + 1; + Sum.Number[0] := size; + Sum.Number[size] := rest; + While (Sum.Number[size] = 0) And (size > 1) Do + size := size - 1; + If Sum.Number[0] <> size Then SetLength(Sum.Number, size + 1); + Sum.Number[0] := size; + End + Else + Begin + If FGIntCompareAbs(FGInt2, FGInt1) = Lt Then + FGIntAdd(FGInt2, FGInt1, Sum) + Else + Begin + SetLength(Sum.Number, (size1 + 1)); + rest := 0; + For i := 1 To size2 Do + Begin + Trest := 2147483648; + TRest := Trest + FGInt1.Number[i]; + TRest := Trest - FGInt2.Number[i]; + TRest := Trest - rest; + Sum.Number[i] := Trest And 2147483647; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + End; + For i := (size2 + 1) To size1 Do + Begin + Trest := 2147483648; + TRest := Trest + FGInt1.Number[i]; + TRest := Trest - rest; + Sum.Number[i] := Trest And 2147483647; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + End; + size := size1; + While (Sum.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> size1 Then SetLength(Sum.Number, size + 1); + Sum.Number[0] := size; + Sum.Sign := FGInt1.Sign; + End; + End; + End; +End; + + + +Procedure FGIntChangeSign(Var FGInt : TFGInt); +Begin + If FGInt.Sign = negative Then FGInt.Sign := positive Else FGInt.Sign := negative; +End; + + +// Substract 2 FGInts, FGInt1 - FGInt2 = dif + +Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt); +Begin + FGIntChangeSign(FGInt2); + FGIntAdd(FGInt1, FGInt2, dif); + FGIntChangeSign(FGInt2); +End; + + +// multiply a FGInt by an integer, FGInt * by = res, by < 2147483648 + +Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord); +Var + i, size, rest : LongWord; + Trest : int64; +Begin + size := FGInt.Number[0]; + setlength(res.Number, (size + 2)); + rest := 0; + For i := 1 To size Do + Begin + Trest := FGInt.Number[i]; + TRest := Trest * by; + TRest := Trest + rest; + res.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If rest <> 0 Then + Begin + size := size + 1; + Res.Number[size] := rest; + End + Else + SetLength(Res.Number, size + 1); + Res.Number[0] := size; + Res.Sign := FGInt.Sign; +End; + + +// multiply a FGInt by an integer, FGInt * by = res, by < 1000000000 + +Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord); +Var + i, size, rest : LongWord; + Trest : int64; +Begin + size := FGInt.Number[0]; + Setlength(FGInt.Number, size + 2); + rest := 0; + For i := 1 To size Do + Begin + Trest := FGInt.Number[i]; + TRest := Trest * by; + TRest := Trest + rest; + FGInt.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If rest <> 0 Then + Begin + size := size + 1; + FGInt.Number[size] := rest; + End + Else + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; +End; + + +// divide a FGInt by an integer, FGInt = res * by + modres + +Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + rest : int64; +Begin + size := FGInt.Number[0]; + setlength(res.Number, (size + 1)); + modres := 0; + For i := size Downto 1 Do + Begin + rest := modres; + rest := rest Shl 31; + rest := rest Or FGInt.Number[i]; + res.Number[i] := rest Div by; + modres := rest Mod by; + End; + While (res.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> FGInt.Number[0] Then SetLength(res.Number, size + 1); + res.Number[0] := size; + Res.Sign := FGInt.Sign; + If FGInt.sign = negative Then modres := by - modres; +End; + + +// divide a FGInt by an integer, FGInt = FGInt * by + modres + +Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + temp, rest : int64; +Begin + size := FGInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp Shl 31; + rest := temp Or FGInt.Number[i]; + FGInt.Number[i] := rest Div by; + temp := rest Mod by; + End; + modres := temp; + While (FGInt.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> FGInt.Number[0] Then + Begin + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; + End; +End; + + +// Reduce a FGInt modulo by (=an integer), FGInt mod by = modres + +Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + temp, rest : int64; +Begin + size := FGInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp Shl 31; + rest := temp Or FGInt.Number[i]; + temp := rest Mod by; + End; + modres := temp; + If FGInt.sign = negative Then modres := by - modres; +End; + + +// Returns the FGInt in absolute value + +Procedure FGIntAbs(Var FGInt : TFGInt); +Begin + FGInt.Sign := positive; +End; + + +// Copy a FGInt1 into FGInt2 + +Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt); +Begin + FGInt2.Sign := FGInt1.Sign; + FGInt2.Number := Nil; + FGInt2.Number := Copy(FGInt1.Number, 0, FGInt1.Number[0] + 1); +End; + + +// Shift the FGInt to the left in base 2 notation, ie FGInt = FGInt * 2 + +Procedure FGIntShiftLeft(Var FGInt : TFGInt); +Var + l, m, i, size : LongWord; +Begin + size := FGInt.Number[0]; + l := 0; + For i := 1 To Size Do + Begin + m := FGInt.Number[i] Shr 30; + FGInt.Number[i] := ((FGInt.Number[i] Shl 1) Or l) And 2147483647; + l := m; + End; + If l <> 0 Then + Begin + setlength(FGInt.Number, size + 2); + FGInt.Number[size + 1] := l; + FGInt.Number[0] := size + 1; + End; +End; + + +// Shift the FGInt to the right in base 2 notation, ie FGInt = FGInt div 2 + +Procedure FGIntShiftRight(Var FGInt : TFGInt); +Var + l, m, i, size : LongWord; +Begin + size := FGInt.Number[0]; + l := 0; + For i := size Downto 1 Do + Begin + m := FGInt.Number[i] And 1; + FGInt.Number[i] := (FGInt.Number[i] Shr 1) Or l; + l := m Shl 30; + End; + If (FGInt.Number[size] = 0) And (size > 1) Then + Begin + setlength(FGInt.Number, size); + FGInt.Number[0] := size - 1; + End; +End; + + +// FGInt = FGInt / 2147483648 + +Procedure FGIntShiftRightBy31(Var FGInt : TFGInt); +Var + size, i : LongWord; +Begin + size := FGInt.Number[0]; + If size > 1 Then + Begin + For i := 1 To size - 1 Do + Begin + FGInt.Number[i] := FGInt.Number[i + 1]; + End; + SetLength(FGInt.Number, Size); + FGInt.Number[0] := size - 1; + End + Else + FGInt.Number[1] := 0; +End; + + +// FGInt1 = FGInt1 + FGInt2, FGInt1 > FGInt2 + +Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Var + i, size1, size2, Trest, rest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + For i := 1 To size2 Do + Begin + Trest := FGInt1.Number[i] + FGInt2.Number[i] + rest; + rest := Trest Shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := FGInt1.Number[i] + rest; + rest := Trest Shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + If rest <> 0 Then + Begin + SetLength(FGInt1.Number, size1 + 2); + FGInt1.Number[0] := size1 + 1; + FGInt1.Number[size1 + 1] := rest; + End; +End; + + +// FGInt1 = FGInt1 - FGInt2, use only when 0 < FGInt2 < FGInt1 + +Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Var + i, size1, size2, rest, Trest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + For i := 1 To size2 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - FGInt2.Number[i] - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + FGInt1.Number[i] := Trest And 2147483647; + End; + i := size1; + While (FGInt1.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i <> size1 Then + Begin + SetLength(FGInt1.Number, i + 1); + FGInt1.Number[0] := i; + End; +End; + + +// Multiply 2 FGInts, FGInt1 * FGInt2 = Prod + +Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt); +Var + i, j, size, size1, size2, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + size := size1 + size2; + SetLength(Prod.Number, (size + 1)); + For i := 1 To size Do + Prod.Number[i] := 0; + + For i := 1 To size2 Do + Begin + rest := 0; + For j := 1 To size1 Do + Begin + Trest := FGInt1.Number[j]; + Trest := Trest * FGInt2.Number[i]; + Trest := Trest + Prod.Number[j + i - 1]; + Trest := Trest + rest; + Prod.Number[j + i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + Prod.Number[i + size1] := rest; + End; + + Prod.Number[0] := size; + While (Prod.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> Prod.Number[0] Then + Begin + SetLength(Prod.Number, size + 1); + Prod.Number[0] := size; + End; + If FGInt1.Sign = FGInt2.Sign Then + Prod.Sign := Positive + Else + prod.Sign := negative; +End; + + +// Square a FGInt, FGInt?= Square + +Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt); +Var + size, size1, i, j, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt.Number[0]; + size := 2 * size1; + SetLength(Square.Number, (size + 1)); + Square.Number[0] := size; + For i := 1 To size Do + Square.Number[i] := 0; + For i := 1 To size1 Do + Begin + Trest := FGInt.Number[i]; + Trest := Trest * FGInt.Number[i]; + Trest := Trest + Square.Number[2 * i - 1]; + Square.Number[2 * i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + For j := i + 1 To size1 Do + Begin + Trest := FGInt.Number[i] Shl 1; + Trest := Trest * FGInt.Number[j]; + Trest := Trest + Square.Number[i + j - 1]; + Trest := Trest + rest; + Square.Number[i + j - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + Square.Number[i + size1] := rest; + End; + Square.Sign := positive; + While (Square.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> (2 * size1) Then + Begin + SetLength(Square.Number, size + 1); + Square.Number[0] := size; + End; +End; + + +// Exponentiate a FGInt, FGInt^exp = res + +Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt); +Var + temp2, temp3 : TFGInt; + S : AnsiString; + i : LongWord; +Begin + FGIntToBase2String(exp, S); + If S[length(S)] = '0' Then Base10StringToFGInt('1', res) Else FGIntCopy(FGInt, res); + FGIntCopy(FGInt, temp2); + If length(S) > 1 Then + For i := (length(S) - 1) Downto 1 Do + Begin + FGIntSquare(temp2, temp3); + FGIntCopy(temp3, temp2); + If S[i] = '1' Then + Begin + FGIntMul(res, temp2, temp3); + FGIntCopy(temp3, res); + End; + End; +End; + + +// Compute FGInt! = FGInt * (FGInt - 1) * (FGInt - 2) * ... * 3 * 2 * 1 + +Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt); +Var + one, temp, temp1 : TFGInt; +Begin + FGIntCopy(FGInt, temp); + Base10StringToFGInt('1', res); + Base10StringToFGInt('1', one); + + While Not (FGIntCompareAbs(temp, one) = Eq) Do + Begin + FGIntMul(temp, res, temp1); + FGIntCopy(temp1, res); + FGIntSubBis(temp, one); + End; + + FGIntDestroy(one); + FGIntDestroy(temp); +End; + + +// FGInt = FGInt * 2147483648 + +Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt); +Var + f1, f2 : LongWord; + i, size : longint; +Begin + size := FGInt.Number[0]; + SetLength(FGInt.Number, size + 2); + f1 := 0; + For i := 1 To (size + 1) Do + Begin + f2 := FGInt.Number[i]; + FGInt.Number[i] := f1; + f1 := f2; + End; + FGInt.Number[0] := size + 1; +End; + +Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord); +Var + i, size : longint; +Begin + size := FGInt.Number[0]; + SetLength(FGInt.Number, size + 1 + times); + For i := size Downto 1 Do + Begin + FGInt.Number[i + times] := FGInt.Number[i]; + End; + For i := 1 To times Do + Begin + FGInt.Number[i] := 0; + End; + FGInt.Number[0] := size + times; +End; + + +// Divide 2 FGInts, FGInt1 = FGInt2 * QFGInt + MFGInt, MFGInt is always positive + +Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt); +Var + one, zero, temp1 : TFGInt; + s1, s2 : TSign; + j, s, t : LongWord; + i, k : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; + SetLength(QFGInt.Number, (s + 2)); + QFGInt.Number[0] := s + 1; + For t := 1 To s Do + Begin + FGIntShiftLeftBy31(temp1); + QFGInt.Number[t] := 0; + End; + j := s + 1; + QFGInt.Number[j] := 0; + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + k := temp1.Number[temp1.Number[0]]; + k := k shl 31; + k := k + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div k; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + QFGInt.Number[j] := QFGInt.Number[j] + i; + End + Else + Begin + QFGInt.Number[j] := QFGInt.Number[j] + 1; + FGIntSubBis(MFGInt, temp1); + End; + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then + Begin + FGIntShiftRightBy31(temp1); + j := j - 1; + End; + End; + End + Else + Base10StringToFGInt('0', QFGInt); + s := QFGInt.Number[0]; + While (s > 1) And (QFGInt.Number[s] = 0) Do + s := s - 1; + If s < QFGInt.Number[0] Then + Begin + setlength(QFGInt.Number, s + 1); + QFGInt.Number[0] := s; + End; + QFGInt.Sign := positive; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntadd(QFGInt, one, temp1); + FGIntDestroy(QFGInt); + FGIntCopy(temp1, QFGInt); + FGIntDestroy(temp1); + FGIntsub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + If s2 = positive Then QFGInt.Sign := negative; + End + Else + QFGInt.Sign := s2; + FGIntDestroy(one); + FGIntDestroy(zero); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + +// Same as above but doesn 't compute MFGInt + +Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt); +Var + one, zero, temp1, MFGInt : TFGInt; + s1, s2 : TSign; + j, s, t : LongWord; + i, k : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; + SetLength(QFGInt.Number, (s + 2)); + QFGInt.Number[0] := s + 1; + For t := 1 To s Do + Begin + FGIntShiftLeftBy31(temp1); + QFGInt.Number[t] := 0; + End; + j := s + 1; + QFGInt.Number[j] := 0; + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + k := temp1.Number[temp1.Number[0]]; + k := k shl 31; + k := k + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div k; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + QFGInt.Number[j] := QFGInt.Number[j] + i; + End + Else + Begin + QFGInt.Number[j] := QFGInt.Number[j] + 1; + FGIntSubBis(MFGInt, temp1); + End; + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then + Begin + FGIntShiftRightBy31(temp1); + j := j - 1; + End; + End; + End + Else + Base10StringToFGInt('0', QFGInt); + s := QFGInt.Number[0]; + While (s > 1) And (QFGInt.Number[s] = 0) Do + s := s - 1; + If s < QFGInt.Number[0] Then + Begin + setlength(QFGInt.Number, s + 1); + QFGInt.Number[0] := s; + End; + QFGInt.Sign := positive; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntadd(QFGInt, one, temp1); + FGIntDestroy(QFGInt); + FGIntCopy(temp1, QFGInt); + FGIntDestroy(temp1); + FGIntsub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + If s2 = positive Then QFGInt.Sign := negative; + End + Else + QFGInt.Sign := s2; + FGIntDestroy(one); + FGIntDestroy(zero); + FGIntDestroy(MFGInt); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + + +// FGInt1 = FGInt1 - divInt * FGInt2, use only when 0 < FGInt2 < FGInt1 + +Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord); +Var + i, size1, size2, rest, Trest, mRest : LongWord; + mTmpRest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + mRest := 0; + For i := 1 To size2 Do + Begin + mTmpRest := FGInt2.Number[i]; + mTmpRest := mTmpRest * divInt; + mTmpRest := mTmpRest + mRest; + Trest := (2147483648 Or FGInt1.Number[i]) - (mTmpRest And 2147483647) - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + mRest := mTmpRest shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - mRest - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + mRest := mRest shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + i := size1; + While (FGInt1.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i <> size1 Then + Begin + SetLength(FGInt1.Number, i + 1); + FGInt1.Number[0] := i; + End; +End; + + + +Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt); +Var + zero, temp1 : TFGInt; + s1, s2 : TSign; + s: LongWord; + i, j : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; +// For t := 1 To s Do + FGIntShiftLeftBy31Times(temp1,s); + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + j := temp1.Number[temp1.Number[0]]; + j := j shl 31; + j := j + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div j; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + End + Else + FGIntSubBis(MFGInt, temp1); + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then FGIntShiftRightBy31(temp1); + End; + End; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntSub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + End; + FGIntDestroy(zero); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + +// Square a FGInt modulo Modb, FGInt^2 mod Modb = FGIntSM + +Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt); +Var + temp : TFGInt; +Begin + FGIntSquare(FGInt, temp); + FGIntMod(temp, Modb, FGIntSM); + FGIntDestroy(temp); +End; + + +// Add 2 FGInts modulo base, (FGInt1 + FGInt2) mod base = FGIntres + +Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Var + temp : TFGInt; +Begin + FGIntadd(FGInt1, FGInt2, temp); + FGIntMod(temp, base, FGIntres); + FGIntDestroy(temp); +End; + + +// Multiply 2 FGInts modulo base, (FGInt1 * FGInt2) mod base = FGIntres + +Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Var + temp : TFGInt; +Begin + FGIntMul(FGInt1, FGInt2, temp); + FGIntMod(temp, base, FGIntres); + FGIntDestroy(temp); +End; + + +// Exponentiate 2 FGInts modulo base, (FGInt1 ^ FGInt2) mod modb = res + +Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt); +Var + temp2, temp3 : TFGInt; + i : LongWord; + S : AnsiString; +Begin + If (Modb.Number[1] Mod 2) = 1 Then + Begin + FGIntMontgomeryModExp(FGInt, exp, modb, res); + exit; + End; + FGIntToBase2String(exp, S); + Base10StringToFGInt('1', res); + FGIntcopy(FGInt, temp2); + + For i := length(S) Downto 1 Do + Begin + If S[i] = '1' Then + Begin + FGIntmulMod(res, temp2, modb, temp3); + FGIntCopy(temp3, res); + End; + FGIntSquareMod(temp2, Modb, temp3); + FGIntCopy(temp3, temp2); + End; + FGIntDestroy(temp2); +End; + + +// Procedures for Montgomery Exponentiation + +Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord); +Var + i : LongWord; +Begin + If b <= FGInt.Number[0] Then + Begin + SetLength(FGIntOut.Number, (b + 1)); + For i := 0 To b Do + FGIntOut.Number[i] := FGInt.Number[i]; + FGIntOut.Number[b] := FGIntOut.Number[b] And head; + i := b; + While (FGIntOut.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i < b Then SetLength(FGIntOut.Number, i + 1); + FGIntOut.Number[0] := i; + FGIntOut.Sign := positive; + End + Else + FGIntCopy(FGInt, FGIntOut); +End; + + +Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord); +Var + i, j, size, size1, size2, t, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + size := min(b, size1 + size2); + SetLength(Prod.Number, (size + 1)); + For i := 1 To size Do + Prod.Number[i] := 0; + + For i := 1 To size2 Do + Begin + rest := 0; + t := min(size1, b - i + 1); + For j := 1 To t Do + Begin + Trest := FGInt1.Number[j]; + Trest := Trest * FGInt2.Number[i]; + Trest := Trest + Prod.Number[j + i - 1]; + Trest := Trest + rest; + Prod.Number[j + i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If (i + size1) <= b Then Prod.Number[i + size1] := rest; + End; + + Prod.Number[0] := size; + If size = b Then Prod.Number[b] := Prod.Number[b] And head; + While (Prod.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size < Prod.Number[0] Then + Begin + SetLength(Prod.Number, size + 1); + Prod.Number[0] := size; + End; + If FGInt1.Sign = FGInt2.Sign Then + Prod.Sign := Positive + Else + prod.Sign := negative; +End; + + +Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord); +Var + m, temp, temp1 : TFGInt; + r : LongWord; +Begin + FGIntModBis(GInt, temp, b, head); + FGIntMulModBis(temp, baseInv, m, b, head); + FGIntMul(m, base, temp1); + FGIntDestroy(temp); + FGIntAdd(temp1, GInt, temp); + FGIntDestroy(temp1); + MGInt.Number := copy(temp.Number, b - 1, temp.Number[0] - b + 2); + MGInt.Sign := positive; + MGInt.Number[0] := temp.Number[0] - b + 1; + FGIntDestroy(temp); + If (head Shr 30) = 0 Then FGIntDivByIntBis(MGInt, head + 1, r) + Else FGIntShiftRightBy31(MGInt); + If FGIntCompareAbs(MGInt, base) <> St Then FGIntSubBis(MGInt, base); + FGIntDestroy(temp); + FGIntDestroy(m); +End; + + +Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt); +Var + temp2, temp3, baseInv, r, zero : TFGInt; + i, j, t, b, head : LongWord; + S: AnsiString; +Begin + Base2StringToFGInt('0', zero); + FGIntMod(FGInt, modb, res); + If FGIntCompareAbs(res, zero)=Eq then + Begin + FGIntDestroy(zero); + Exit; + End else FGIntDestroy(res); + FGIntDestroy(zero); + + FGIntToBase2String(exp, S); + t := modb.Number[0]; + b := t; + + If (modb.Number[t] Shr 30) = 1 Then t := t + 1; + SetLength(r.Number, (t + 1)); + r.Number[0] := t; + r.Sign := positive; + For i := 1 To t Do + r.Number[i] := 0; + If t = modb.Number[0] Then + Begin + head := 2147483647; + For j := 29 Downto 0 Do + Begin + head := head Shr 1; + If (modb.Number[t] Shr j) = 1 Then + Begin + r.Number[t] := 1 Shl (j + 1); + break; + End; + End; + End + Else + Begin + r.Number[t] := 1; + head := 2147483647; + End; + + FGIntModInv(modb, r, temp2); + If temp2.Sign = negative Then + FGIntCopy(temp2, BaseInv) + Else + Begin + FGIntCopy(r, BaseInv); + FGIntSubBis(BaseInv, temp2); + End; +// FGIntBezoutBachet(r, modb, temp2, BaseInv); + FGIntAbs(BaseInv); + FGIntDestroy(temp2); + FGIntMod(r, modb, res); + FGIntMulMod(FGInt, res, modb, temp2); + FGIntDestroy(r); + + For i := length(S) Downto 1 Do + Begin + If S[i] = '1' Then + Begin + FGIntmul(res, temp2, temp3); + FGIntDestroy(res); + FGIntMontgomeryMod(temp3, modb, baseinv, res, b, head); + FGIntDestroy(temp3); + End; + FGIntSquare(temp2, temp3); + FGIntDestroy(temp2); + FGIntMontgomeryMod(temp3, modb, baseinv, temp2, b, head); + FGIntDestroy(temp3); + End; + FGIntDestroy(temp2); + FGIntMontgomeryMod(res, modb, baseinv, temp3, b, head); + FGIntCopy(temp3, res); + FGIntDestroy(temp3); + FGIntDestroy(baseinv); +End; + + +// Compute the Greatest Common Divisor of 2 FGInts + +Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt); +Var + k : TCompare; + zero, temp1, temp2, temp3 : TFGInt; +Begin + k := FGIntCompareAbs(FGInt1, FGInt2); + If (k = Eq) Then FGIntCopy(FGInt1, GCD) Else + If (k = St) Then FGIntGCD(FGInt2, FGInt1, GCD) Else + Begin + Base10StringToFGInt('0', zero); + FGIntCopy(FGInt1, temp1); + FGIntCopy(FGInt2, temp2); + While (temp2.Number[0] <> 1) Or (temp2.Number[1] <> 0) Do + Begin + FGIntMod(temp1, temp2, temp3); + FGIntCopy(temp2, temp1); + FGIntCopy(temp3, temp2); + FGIntDestroy(temp3); + End; + FGIntCopy(temp1, GCD); + FGIntDestroy(temp2); + FGIntDestroy(zero); + End; +End; + + +// Compute the Least Common Multiple of 2 FGInts + +Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt); +Var + temp1, temp2 : TFGInt; +Begin + FGIntGCD(FGInt1, FGInt2, temp1); + FGIntmul(FGInt1, FGInt2, temp2); + FGIntdiv(temp2, temp1, LCM); + FGIntDestroy(temp1); + FGIntDestroy(temp2); +End; + + +// Trialdivision of a FGInt upto 9999 and stopping when a divisor is found, returning ok=false + +Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean); +Var + j : LongWord; + i : integer; +Begin + If ((FGInt.Number[1] Mod 2) = 0) Then ok := false + Else + Begin + i := 0; + ok := true; + While ok And (i < 1228) Do + Begin + i := i + 1; + FGIntmodbyint(FGInt, primes[i], j); + If j = 0 Then ok := false; + End; + End; +End; + + +// A prng + +Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt); +Var + temp, base : TFGInt; +Begin + Base10StringToFGInt('281474976710656', base); + Base10StringToFGInt('44485709377909', temp); + FGIntMulMod(seed, temp, base, RandomFGInt); + FGIntDestroy(temp); + FGIntDestroy(base); +End; + + +// Perform a Rabin Miller Primality Test nrtest times on FGIntp, returns ok=true when FGIntp passes the test + +Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean); +Var + j, b, i : LongWord; + m, z, temp1, temp2, temp3, zero, one, two, pmin1 : TFGInt; + ok1, ok2 : boolean; +Begin + randomize; + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + Base10StringToFGInt('2', two); + FGIntsub(FGIntp, one, temp1); + FGIntsub(FGIntp, one, pmin1); + + b := 0; + While (temp1.Number[1] Mod 2) = 0 Do + Begin + b := b + 1; + FGIntShiftRight(temp1); + End; + m := temp1; + + i := 0; + ok := true; + Randomize; + While (i < nrtest) And ok Do + Begin + j := 0; + i := i + 1; + Base10StringToFGInt(AnsiString(inttostr(Primes[Random(1227) + 1])), temp2); + FGIntMontGomeryModExp(temp2, m, FGIntp, z); + FGIntDestroy(temp2); + ok1 := (FGIntCompareAbs(z, one) = Eq); + ok2 := (FGIntCompareAbs(z, pmin1) = Eq); + If Not (ok1 Or ok2) Then + Begin + + While (ok And (j < b)) Do + Begin + If (j > 0) And ok1 Then ok := false + Else + Begin + j := j + 1; + If (j < b) And (Not ok2) Then + Begin + FGIntSquaremod(z, FGIntp, temp3); + FGIntCopy(temp3, z); + ok1 := (FGIntCompareAbs(z, one) = Eq); + ok2 := (FGIntCompareAbs(z, pmin1) = Eq); + If ok2 Then j := b; + End + Else If (Not ok2) And (j >= b) Then ok := false; + End; + End; + + End + End; + + FGIntDestroy(zero); + FGIntDestroy(one); + FGIntDestroy(two); + FGIntDestroy(m); + FGIntDestroy(z); + FGIntDestroy(pmin1); +End; + + +// Compute the coefficients from the Bezout Bachet theorem, FGInt1 * a + FGInt2 * b = GCD(FGInt1, FGInt2) + +Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt); +Var + zero, r1, r2, r3, ta, gcd, temp, temp1, temp2 : TFGInt; +Begin + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + FGIntcopy(FGInt1, r1); + FGIntcopy(FGInt2, r2); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', a); + Base10StringToFGInt('0', ta); + + Repeat + FGIntdivmod(r1, r2, temp, r3); + FGIntDestroy(r1); + r1 := r2; + r2 := r3; + + FGIntmul(ta, temp, temp1); + FGIntsub(a, temp1, temp2); + FGIntCopy(ta, a); + FGIntCopy(temp2, ta); + FGIntDestroy(temp1); + + FGIntDestroy(temp); + Until FGIntCompareAbs(r3, zero) = Eq; + + FGIntGCD(FGInt1, FGInt2, gcd); + FGIntmul(a, FGInt1, temp1); + FGIntsub(gcd, temp1, temp2); + FGIntDestroy(temp1); + FGIntdiv(temp2, FGInt2, b); + FGIntDestroy(temp2); + + FGIntDestroy(ta); + FGIntDestroy(r1); + FGIntDestroy(r2); + FGIntDestroy(gcd); + End + Else FGIntBezoutBachet(FGInt2, FGInt1, b, a); +End; + + +// Find the (multiplicative) Modular inverse of a FGInt in a finite ring +// of additive order base + +Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt); +Var + zero, one, r1, r2, r3, tb, gcd, temp, temp1, temp2 : TFGInt; +Begin + Base10StringToFGInt('1', one); + FGIntGCD(FGInt1, base, gcd); + If FGIntCompareAbs(one, gcd) = Eq Then + Begin + FGIntcopy(base, r1); + FGIntcopy(FGInt1, r2); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('0', inverse); + Base10StringToFGInt('1', tb); + + Repeat + FGIntDestroy(r3); + FGIntdivmod(r1, r2, temp, r3); + FGIntCopy(r2, r1); + FGIntCopy(r3, r2); + + FGIntmul(tb, temp, temp1); + FGIntsub(inverse, temp1, temp2); + FGIntDestroy(inverse); + FGIntDestroy(temp1); + FGIntCopy(tb, inverse); + FGIntCopy(temp2, tb); + + FGIntDestroy(temp); + Until FGIntCompareAbs(r3, zero) = Eq; + + If inverse.Sign = negative Then + Begin + FGIntadd(base, inverse, temp); + FGIntCopy(temp, inverse); + End; + + FGIntDestroy(tb); + FGIntDestroy(r1); + FGIntDestroy(r2); + End; + FGIntDestroy(gcd); + FGIntDestroy(one); +End; + + +// Perform a (combined) primality test on FGIntp consisting of a trialdivision upto 8192, +// if the FGInt passes perform nrRMtests Rabin Miller primality tests, returns ok when a +// FGInt is probably prime + +Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean); +Begin + FGIntTrialdiv9999(FGIntp, ok); + If ok Then FGIntRabinMiller(FGIntp, nrRMtests, ok); +End; + + +// Computes the Legendre symbol for a any number and +// p a prime, returns 0 if p divides a, 1 if a is a +// quadratic residu mod p, -1 if a is a quadratic +// nonresidu mod p + +Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer); +Var + temp1, temp2, temp3, temp4, temp5, zero, one : TFGInt; + i : LongWord; + ok1, ok2 : boolean; +Begin + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + FGIntMod(a, p, temp1); + If FGIntCompareAbs(zero, temp1) = Eq Then + Begin + FGIntDestroy(temp1); + L := 0; + End + Else + Begin + FGIntDestroy(temp1); + FGIntCopy(p, temp1); + FGIntCopy(a, temp2); + L := 1; + While FGIntCompareAbs(temp2, one) <> Eq Do + Begin + If (temp2.Number[1] Mod 2) = 0 Then + Begin + FGIntSquare(temp1, temp3); + FGIntSub(temp3, one, temp4); + FGIntDestroy(temp3); + FGIntDivByInt(temp4, temp3, 8, i); + If (temp3.Number[1] Mod 2) = 0 Then ok1 := false Else ok1 := true; + FGIntDestroy(temp3); + FGIntDestroy(temp4); + If ok1 = true Then L := L * (-1); + FGIntDivByIntBis(temp2, 2, i); + End + Else + Begin + FGIntSub(temp1, one, temp3); + FGIntSub(temp2, one, temp4); + FGIntMul(temp3, temp4, temp5); + FGIntDestroy(temp3); + FGIntDestroy(temp4); + FGIntDivByInt(temp5, temp3, 4, i); + If (temp3.Number[1] Mod 2) = 0 Then ok2 := false Else ok2 := true; + FGIntDestroy(temp5); + FGIntDestroy(temp3); + If ok2 = true Then L := L * (-1); + FGIntMod(temp1, temp2, temp3); + FGIntCopy(temp2, temp1); + FGIntCopy(temp3, temp2); + End; + End; + FGIntDestroy(temp1); + FGIntDestroy(temp2); + End; + FGIntDestroy(zero); + FGIntDestroy(one); +End; + + +// Compute a square root modulo a prime number +// SquareRoot^2 mod Prime = Square + +Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt); +Var + one, n, b, s, r, temp, temp1, temp2, temp3 : TFGInt; + a, i, j : longint; + L : Integer; +Begin + Base2StringToFGInt('1', one); + Base2StringToFGInt('10', n); + a := 0; + FGIntLegendreSymbol(n, Prime, L); + While L <> -1 Do + Begin + FGIntAddBis(n, one); + FGIntLegendreSymbol(n, Prime, L); + End; + FGIntCopy(Prime, s); + s.Number[1] := s.Number[1] - 1; + While (s.Number[1] Mod 2) = 0 Do + Begin + FGIntShiftRight(s); + a := a + 1; + End; + FGIntMontgomeryModExp(n, s, Prime, b); + FGIntAdd(s, one, temp); + FGIntShiftRight(temp); + FGIntMontgomeryModExp(Square, temp, Prime, r); + FGIntDestroy(temp); + FGIntModInv(Square, Prime, temp1); + + For i := 0 To (a - 2) Do + Begin + FGIntSquareMod(r, Prime, temp2); + FGIntMulMod(temp1, temp2, Prime, temp); + FGIntDestroy(temp2); + For j := 1 To (a - i - 2) Do + Begin + FGIntSquareMod(temp, Prime, temp2); + FGIntDestroy(temp); + FGIntCopy(temp2, temp); + FGIntDestroy(temp2); + End; + If FGIntCompareAbs(temp, one) <> Eq Then + Begin + FGIntMulMod(r, b, Prime, temp3); + FGIntDestroy(r); + FGIntCopy(temp3, r); + FGIntDestroy(temp3); + End; + FGIntDestroy(temp); + FGIntDestroy(temp2); + If i = (a - 2) Then break; + FGIntSquareMod(b, Prime, temp3); + FGIntDestroy(b); + FGIntCopy(temp3, b); + FGIntDestroy(temp3); + End; + + FGIntCopy(r, SquareRoot); + FGIntDestroy(r); + FGIntDestroy(s); + FGIntDestroy(b); + FGIntDestroy(temp1); + FGIntDestroy(one); + FGIntDestroy(n); +End; + + +End. diff --git a/10.3.2/Keygen/RadKeygen.pas b/10.3.2/Keygen/RadKeygen.pas new file mode 100644 index 0000000..a06b88e --- /dev/null +++ b/10.3.2/Keygen/RadKeygen.pas @@ -0,0 +1,328 @@ +unit RadKeygen; + +interface + +uses + SysUtils, Classes, Windows, Registry, SHFolder, Sha1, FGInt, RadVersion, RadLicense; + + function GenerateSerialNumber():string; + function GetRegistrationCode():string; + function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; + +implementation + +function GetAppDataPath():string; +var + Path:array [0..MAX_PATH-1] of Char; +begin + if Succeeded(SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 0, 0, @Path[0])) then + Result:=string(Path) + else + Result:=''; +end; + +function GenerateSerialNumber():string; +const + StrMap:string='ABC2DE34FGHJKLM5NPQRST6U7VWX8YZ9'; + ByteMap:array[0..255] of Byte=($00, $07, $0E, $09, $1C, $1B, $12, $15, $38, $3F, + $36, $31, $24, $23, $2A, $2D, $70, $77, $7E, $79, + $6C, $6B, $62, $65, $48, $4F, $46, $41, $54, $53, + $5A, $5D, $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5, + $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD, $90, $97, + $9E, $99, $8C, $8B, $82, $85, $A8, $AF, $A6, $A1, + $B4, $B3, $BA, $BD, $C7, $C0, $C9, $CE, $DB, $DC, + $D5, $D2, $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA, + $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2, $8F, $88, + $81, $86, $93, $94, $9D, $9A, $27, $20, $29, $2E, + $3B, $3C, $35, $32, $1F, $18, $11, $16, $03, $04, + $0D, $0A, $57, $50, $59, $5E, $4B, $4C, $45, $42, + $6F, $68, $61, $66, $73, $74, $7D, $7A, $89, $8E, + $87, $80, $95, $92, $9B, $9C, $B1, $B6, $BF, $B8, + $AD, $AA, $A3, $A4, $F9, $FE, $F7, $F0, $E5, $E2, + $EB, $EC, $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4, + $69, $6E, $67, $60, $75, $72, $7B, $7C, $51, $56, + $5F, $58, $4D, $4A, $43, $44, $19, $1E, $17, $10, + $05, $02, $0B, $0C, $21, $26, $2F, $28, $3D, $3A, + $33, $34, $4E, $49, $40, $47, $52, $55, $5C, $5B, + $76, $71, $78, $7F, $6A, $6D, $64, $63, $3E, $39, + $30, $37, $22, $25, $2C, $2B, $06, $01, $08, $0F, + $1A, $1D, $14, $13, $AE, $A9, $A0, $A7, $B2, $B5, + $BC, $BB, $96, $91, $98, $9F, $8A, $8D, $84, $83, + $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB, $E6, $E1, + $E8, $EF, $FA, $FD, $F4, $F3); +var + i,v1,v2,v3,v4,v5,v6,v7,v8,v9:Integer; + SumValue:string; + ByteArray:array[0..19] of Byte; +begin + Randomize(); + v1:=0; + v2:=0; + v3:=0; + v4:=0; + v5:=1; + v6:=8217; + v7:=53; + v8:= Random(32) shl 8; + v8:=v8 xor Random(32); + v8:= v8 mod $10000; + SumValue:=Format('%d',[v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8]); + v9:=0; + + for i := 0 to Length(SumValue)-1 do + begin + v9:=v9 xor ByteMap[Ord(SumValue[i+1])]; + end; + ByteArray[0] := ((v8 shr 1) and 8) or ((v8 shr 5) and 4) or (2 * v5 and 2); + ByteArray[1] := ((v7 shr 1) and 16) or ((v7 shr 4) and 8) or ((v6 shr 5) and 2) or ((v6 shr 8) and 1); + ByteArray[2] := (2 * v7 and 16) or (8 * v8 and 8) or ((v5 shr 1) and 4) or ((v6 shr 4) and 2) or (v3 and 1); + ByteArray[3] := (4 * v5 and 16); + ByteArray[4] := (4 * v9 and 16) or ((v6 shr 4) and 8); + ByteArray[5] := (8 * v4 and 8) or ((v8 shr 1) and 4) or ((v8 shr 12) and 2); + ByteArray[6] := ((v9 shr 3) and 8) or ((v8 shr 4) and 4) or (2 * v1 and 2); + ByteArray[7] := ((v8 shr 11) and 16) or ((v8 shr 7) and 8) or (4 * v6 and 4) or ((v5 shr 3) and 2); + ByteArray[8] := ((v8 shr 7) and 16) or ((v6 shr 1) and 1); + ByteArray[9] := (4 * v6 and 16) or (v9 and 8) or (v8 and 4); + ByteArray[10] := ((v8 shr 9) and 8); + ByteArray[11] := (4 * v9 and 8) or (4 * v9 and 4) or (v8 and 2) or ((v8 shr 5) and 1); + ByteArray[12] := ((v8 shr 8) and 1); + ByteArray[13] := ((v6 shr 7) and 16) or ((v9 shr 7) and 1); + ByteArray[14] := (2 * v7 and 2) or ((v7 shr 1) and 1); + ByteArray[15] := (v6 and 8) or ((v6 shr 2) and 4) or ((v8 shr 9) and 1); + ByteArray[16] := (16 * v2 and 16) or (2 * v7 and 8) or ((v5 shr 1) and 1); + ByteArray[17] := ((v9 shr 3) and 2); + ByteArray[18] := (v7 and 16) or ((v6 shr 6) and 8) or ((v6 shr 8) and 4) or ((v8 shr 13) and 2) or ((v9 shr 5) and 1); + ByteArray[19] := ((v6 shr 9) and 16) or ((v7 shr 3) and 8) or ((v6 shr 11) and 2); + + Result:=''; + for i := 0 to Length(ByteArray)-1 do + begin + if (i=4) or (i=10) or (i=16) then Result:=Result+'-'; + Result:=Result+StrMap[ByteArray[i]+1]; + end; +end; + +function GetRegistrationCode():string; + + function GetKey():DWORD; + const + KeyMap:string='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890X'; + var + ComputerName:array[0..MAX_PATH-1] of Char; + Key:string; + nSize:Cardinal; + i,j:Integer; + begin + Result:=$ED864640; + if (GetComputerName(@ComputerName[0],nSize)=False) then + Key:='localhost' + else + Key:=string(ComputerName); + + Key:=UpperCase(Key); + for i := 0 to Length(Key)-1 do + begin + for j := 0 to Length(KeyMap)-1 do + begin + if (Key[i+1]=KeyMap[j+1]) then Break; + end; + if j>=Length(KeyMap) then + Result:=Result+16*88 + else + Result:=Result+16*Ord(KeyMap[36-j]); + end; + end; + +var + FileName:string; + MemoryStream:TMemoryStream; + dwVerify,dwSize:DWORD; + pBuf,p:PByte; + i,j,eax,ebx,esi:Cardinal; + +begin + Result:=''; + MemoryStream:=TMemoryStream.Create; + try + if GetAppDataPath<>'' then + begin + FileName:=GetAppDataPath+'\Embarcadero\.licenses\.cg_license'; + if FileExists(FileName) then + begin + MemoryStream.LoadFromFile(FileName); + end + else + begin + FileName:=GetAppDataPath+'\Embarcadero\.cg_license'; + if FileExists(FileName) then + begin + MemoryStream.LoadFromFile(FileName); + end; + end; + end; + if MemoryStream.Size>8 then + begin + MemoryStream.Position:=0; + MemoryStream.Read(dwVerify,SizeOf(dwVerify)); + MemoryStream.Read(dwSize,SizeOf(dwSize)); + dwVerify:=(Swap(loWord(dwVerify)) shl 16) or Swap(HiWord(dwVerify)); + dwSize:=(Swap(loWord(dwSize)) shl 16) or Swap(HiWord(dwSize)); + pBuf:=AllocMem(dwSize); + MemoryStream.Read(pBuf^,dwSize); + p:=pBuf; + eax:=GetKey(); + for i := 0 to dwSize-1 do + begin + esi:=p^; + if (esi and $80)=$80 then esi:=esi or $ffffff00; + ebx:=(eax shr 24) and $FF; + p^:=p^ xor ebx; + inc(p); + eax:=eax xor esi; + ebx:=eax shl 8; + eax:=eax xor ebx; + ebx:=eax shl 16; + eax:= eax xor ebx; + ebx:=eax shl 24; + eax:=eax xor ebx; + end; + eax:=eax and $7FFFFFFF; + if eax=dwVerify then + begin + for i := 0 to dwSize-1 do + begin + if PByte(Cardinal(pBuf)+i)^=36 then Break; //$ + end; + Inc(i); + j:=0; + while (i13) and (j<10) do + begin + Result:=Result+Chr(PByte(Cardinal(pBuf)+i)^); + Inc(i); + inc(j); + end; + end; + FreeMem(pBuf,dwSize); + end; + finally + MemoryStream.Free; + end; +end; + +function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; +const + ModStr:string='8EBD9E688D7106E57BCF63D41BADCE133FEB4CDB718F48F7BF39F6A26EB60BAE'+ + '0E930DC984FDED2537750C9DCFBB87D7AC7F3AA4D65D9E35C2D277BCB0ECDCA0'+ + '2D7DAE739AC8BCAE86914F6E77C17A82C77438421FC315DC38F09C7E840AF41E'+ + '663C5562222E661ED22578A234B58481F862CEABF477C89AE70F15134F83BC7E'+ + 'C2EF57E7274EB74353DE22283113485D9803D4050EF46DB1467EE9D066B104EB'+ + '385D3C36BD29B58E237E22C0BE66D450BDFCED524481B6DCE3F83BBEC547F926'+ + 'AD23057504DEDB9723EBFD26218167AAC79485FF608F8881D9A6AF5C57BE9A2F'+ + 'B52047ABA92F806955580517F6D147BA1FD5DB3EEF1CEE4CA250D1C0FA824CD9'; + ExpStr:string='7E8325B1791B628766F2EB82057E4895DB234C1D7B4B09DB3B8BBE433D68F075'+ + '36C9B38096F51088D9DC4E7058BBD7AC9A60B1B383A3BA23E026F6A53112DE80'+ + 'C191115BB9268DC509D424D8BE1FA7DBDDB7EE5CFD15C57C48A349B1008B4CCE'+ + 'DCC240D31784945260E3814612FD871242FA203F5C1006A6F47FF3A807E3B4DE'+ + '39535FB5523ABED7B4337606E69245EC13BF9B553FD6F45B0FD290D7CBBEB8C8'+ + 'DF2252DE7EB6A83A679873CC9842B52A093ED00742F11CD23CB5278873253E79'+ + '0E30B16AC72B7ACF9824B568ED971D768B95CA9D4C9A40C884542B8696AADF58'+ + '184CE6376E51451EF8D266ECA691ECAB25E15AA8E527312755A55C2B7D390AD9'; +var + Slip,Tmp:AnsiString; + Len,v2,v5:Cardinal; + FGInt,exp,modb,res:TFGInt; + i:Integer; + Stream:TMemoryStream; + SearchRec:TSearchRec; +begin + Result:=False; + if (Trim(SerialNumber)='') or (Trim(RegistrationCode)='') or + (TryStrToInt(Trim(RegistrationCode),i)=False) then Exit; + + Slip:=AnsiString(CreateLicenseText(SerialNumber,RegistrationCode,RadStudioVersion)); + + Len:= Length(Slip); + Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len)); + Tmp:=PChar(@Len)^+(PChar(@Len)+1)^+(PChar(@Len)+2)^+(PChar(@Len)+3)^+Slip; + Tmp:='01'+StringOfChar('F',66)+'00'+UpperCase(SHA1Print(SHA1String(Tmp))); + + ConvertHexStringToBase256String(Tmp,Tmp); + Base256StringToFGInt(Tmp,FGInt); + + ConvertHexStringToBase256String(ExpStr,Tmp); + Base256StringToFGInt(Tmp,exp); + + ConvertHexStringToBase256String(ModStr,Tmp); + Base256StringToFGInt(Tmp,modb); + + FGIntModExp(FGInt,exp,modb,res); + FGIntToBase256String(res,Tmp); + PGPConvertBase256to64(Tmp,Tmp); + + FGIntDestroy(FGInt); + FGIntDestroy(exp); + FGIntDestroy(modb); + FGIntDestroy(res); + + Slip:=StringReplace(Slip,'e.sign'#10'0'#10,'e.sign'#10'CgeEeu66fCgQJBaqKQwwyiqyHYb22nc2VZRmQVasSDnZAtB/QTLt0CYdgdN16XCz/Nt032fMwTsytchG0l2UeA=='#10,[rfReplaceAll]); + Slip:=StringReplace(Slip,'e.sign2'#10'0'#10,'e.sign2'#10'JWKzOwTKBL+zOP5wrouG5ta/mH+Fvsgb7hb8oJTzu4r3gK/6sh95zKAWKiydqsgvV9pxPXTAlkxv9wAecqJKTQ=='#10,[rfReplaceAll]); + Slip:=StringReplace(Slip,'e.sign3'#10'0'#10,'e.sign3'#10+Tmp+#10,[rfReplaceAll]); + + v2:=$E7F931C2; + for i := 0 to Length(Slip) - 1 do + begin + Slip[i+1]:= AnsiChar(Chr(Ord(Slip[i+1]) xor ((v2 shr 24) and $FF))); + v5:=Ord(Slip[i+1]); + if (v5 and $80)=$80 then v5:=v5 or $ffffff00; + v5:= v5 xor v2; + v5:=(v5 shl 8) xor v5; + v5:=(v5 shl 16) xor v5; + v5:=(v5 shl 24) xor v5; + v2:=v5; + end; + + v2:=(Swap(loWord(v2)) shl 16) or Swap(HiWord(v2)); + Len:=Length(Slip); + Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len)); + + Stream:=TMemoryStream.Create; + try + Stream.Write(v2,4); + Stream.Write(Len,4); + Stream.Write(Slip[1],Length(Slip)); + if (FileName='') or (not DirectoryExists(ExtractFilePath(FileName))) then + begin + if DirectoryExists(GetAppDataPath+'\Embarcadero') then + begin + Tmp:=Format('%s\Embarcadero\.%d_%d.19*.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU]); +{ + if (FindFirst(Tmp,faAnyFile,SearchRec)=0) and + (MessageBox(0,PAnsiChar(Format('Do you want to Delete the old slip file int %s folder',[GetAppDataPath])), 'Rad Studio Keygen',MB_YESNO + MB_ICONQUESTION) = IDYES) then +} + if (FindFirst(Tmp,faAnyFile,SearchRec)=0) then + begin + DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name]))); + while FindNext(SearchRec)=0 do + begin + DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name]))); + end; + end; + SysUtils.FindClose(SearchRec); + FileName:=Format('%s\Embarcadero\.%d_%d.19%d%d%d%d%d%d%d%d%d%d%d.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU, + Random(10),Random(10),Random(10),Random(10),Random(10), + Random(10),Random(10),Random(10),Random(10),Random(10),Random(10)]); + end + else + FileName:=ExtractFileDir(ParamStr(0))+'\RAD Studio Activation.slip'; + end; + Stream.SaveToFile(FileName); +{ + PatchmOasisRuntime(RadStudioVersion); +} + Result:=True; + finally + Stream.Free; + end; +end; + +end. diff --git a/10.3.2/Keygen/RadLicense.pas b/10.3.2/Keygen/RadLicense.pas new file mode 100644 index 0000000..ba1a3cf --- /dev/null +++ b/10.3.2/Keygen/RadLicense.pas @@ -0,0 +1,248 @@ +unit RadLicense; + +interface + +uses RadVersion,SysUtils; + +function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string; + +implementation + +function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string; +var + pid,skuid:string; +begin + pid:=IntToStr(RadStudioVersion^.LicHostPID); + skuid:=IntToStr(RadStudioVersion^.LicHostSKU); + + Result:='11'#10; + Result:=Result+'e.pkg'#10'Embarcadero RAD Studio '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'e.pt'#10'10'#10; + Result:=Result+'e.sign'#10'0'#10; + Result:=Result+'e.sign2'#10'0'#10; + Result:=Result+'e.sign3'#10'0'#10; + Result:=Result+'export.allowed'#10'0'#10; + Result:=Result+'import.allowed'#10'1'#10; + Result:=Result+'import.silent'#10'1'#10; + Result:=Result+'licensed.serialno'#10+SerialNumber+#10; + Result:=Result+'nodelock.node'#10'0'#10; + Result:=Result+'nodelock.session'#10+ActiveCode+#10; + + Result:=Result+'4'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'2000'#10; + Result:=Result+'productid'#10+ RadStudioVersion^.LicDelphiPID +#10; + Result:=Result+'productid_label'#10'Delphi '+ RadStudioVersion^.LicVerStr +#10; + Result:=Result+'productsku'#10+skuid+#10; + Result:=Result+'productsku_label'#10'Architect'#10; + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10+skuid+#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'Delphi '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'26'#10; + Result:=Result+'27'#10; + Result:=Result+'Android'#10'T'#10; + Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10; + Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10; + Result:=Result+'Desktop'#10'T'#10; + Result:=Result+'FULLQA'#10'TRUE'#10; + Result:=Result+'FulliOS'#10'T'#10; + Result:=Result+'Linux64'#10'T'#10; + Result:=Result+'MODELLING'#10'TRUE'#10; + Result:=Result+'Mobile'#10'T'#10; + Result:=Result+'OSX32'#10'T'#10; + Result:=Result+'OSX64'#10'T'#10; + Result:=Result+'Win32'#10'T'#10; + Result:=Result+'Win64'#10'T'#10; + Result:=Result+'a100'#10'MakeThingsHappen'#10; + Result:=Result+'a1000'#10'PrintMoreMoney'#10; + Result:=Result+'a101'#10'ImGivinItAllShesGot'#10; + Result:=Result+'a200'#10'StampIt'#10; + Result:=Result+'a250'#10'ItsToolTimeBaby'#10; + Result:=Result+'a300'#10'TheMalteseFalcon'#10; + Result:=Result+'a301'#10'GlueSolvent'#10; + Result:=Result+'hostsuite'#10+pid+#10; + Result:=Result+'iOSDevice'#10'T'#10; + Result:=Result+'iOSDevice32'#10'T'#10; + Result:=Result+'iOSDevice64'#10'T'#10; + Result:=Result+'iOSSimulator'#10'T'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'updates'#10'1'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'4000'#10; + Result:=Result+'productid'#10+ RadStudioVersion^.LicCBuilderPID +#10; + Result:=Result+'productid_label'#10'C++Builder '+ RadStudioVersion^.LicVerStr +#10; + Result:=Result+'productsku'#10+skuid+#10; + Result:=Result+'productsku_label'#10'Architect'#10; //Architect + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10+skuid+#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'C++Builder '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'20'#10; + Result:=Result+'26'#10; + Result:=Result+'Android'#10'T'#10; + Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10; + Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10; + Result:=Result+'Desktop'#10'T'#10; + Result:=Result+'FULLQA'#10'TRUE'#10; + Result:=Result+'FulliOS'#10'T'#10; + Result:=Result+'MODELLING'#10'TRUE'#10; + Result:=Result+'Mobile'#10'T'#10; + Result:=Result+'OSX32'#10'T'#10; + Result:=Result+'OSX64'#10'T'#10; + Result:=Result+'Win32'#10'T'#10; + Result:=Result+'Win64'#10'T'#10; + Result:=Result+'a100'#10'MakeThingsHappen'#10; + Result:=Result+'a1000'#10'PrintMoreMoney'#10; + Result:=Result+'a101'#10'ImGivinItAllShesGot'#10; + Result:=Result+'a200'#10'StampIt'#10; + Result:=Result+'a250'#10'ItsToolTimeBaby'#10; + Result:=Result+'a300'#10'TheMalteseFalcon'#10; + Result:=Result+'a301'#10'GlueSolvent'#10; + Result:=Result+'hostsuite'#10+pid+#10; + Result:=Result+'iOSDevice'#10'T'#10; + Result:=Result+'iOSDevice32'#10'T'#10; + Result:=Result+'iOSDevice64'#10'T'#10; + Result:=Result+'iOSSimulator'#10'T'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'updates'#10'1'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'0'#10; + Result:=Result+'platform_label'#10'Cross Platform'#10; + Result:=Result+'product'#10'7000'#10; + Result:=Result+'productid'#10'7112'#10; + Result:=Result+'productid_label'#10'InterBase 2017'#10; //InterBase 2017 + Result:=Result+'productsku'#10'0'#10; + Result:=Result+'productsku_label'#10'Server'#10; //Server + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'0'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'InterBase 2017 Server'#10; //InterBase 2017 Server + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'7'#10; + Result:=Result+'21'#10; + Result:=Result+'changeView'#10'1'#10; + Result:=Result+'connectionMonitoring'#10'1'#10; + Result:=Result+'connectionsPerUser'#10'200'#10; + Result:=Result+'customVarId'#10' '#10; + Result:=Result+'databaseAccess'#10'1'#10; + Result:=Result+'dbEncryption'#10'1'#10; + Result:=Result+'ddlOperations'#10'1'#10; + Result:=Result+'devLicense'#10'1'#10; + Result:=Result+'externalFileAccess'#10'1'#10; + Result:=Result+'internetAccess'#10'1'#10; + Result:=Result+'languages'#10'ALL'#10; + Result:=Result+'licensedCpus'#10'32'#10; + Result:=Result+'licensedUsers'#10'5000'#10; + Result:=Result+'nodeID'#10' '#10; + Result:=Result+'otwEncryption'#10'1'#10; + Result:=Result+'remoteAccess'#10'1'#10; + Result:=Result+'serverAccess'#10'1'#10; + Result:=Result+'togoAccess'#10'0'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'useAddons'#10'0'#10; + Result:=Result+'version'#10'13.3'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'0'#10; + Result:=Result+'platform_label'#10'All'#10; + Result:=Result+'product'#10'7000'#10; + Result:=Result+'productid'#10'7112'#10; + Result:=Result+'productid_label'#10'InterBase 2017'#10; //InterBase 2017 + Result:=Result+'productsku'#10'16'#10; + Result:=Result+'productsku_label'#10'ToGo Edition'#10; //ToGo Edition + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'16'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'InterBase 2017 ToGo Edition'#10; //InterBase 2017 ToGo Edition + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'7'#10; + Result:=Result+'21'#10; + Result:=Result+'changeView'#10'1'#10; + Result:=Result+'connectionMonitoring'#10'1'#10; + Result:=Result+'connectionsPerUser'#10'200'#10; + Result:=Result+'customVarId'#10' '#10; + Result:=Result+'databaseAccess'#10'1'#10; + Result:=Result+'dbEncryption'#10'1'#10; + Result:=Result+'ddlOperations'#10'1'#10; + Result:=Result+'devLicense'#10'1'#10; + Result:=Result+'externalFileAccess'#10'1'#10; + Result:=Result+'internetAccess'#10'1'#10; + Result:=Result+'languages'#10'ALL'#10; + Result:=Result+'licensedCpus'#10'32'#10; + Result:=Result+'licensedUsers'#10'5000'#10; + Result:=Result+'nodeID'#10' '#10; + Result:=Result+'otwEncryption'#10'1'#10; + Result:=Result+'remoteAccess'#10'1'#10; + Result:=Result+'serverAccess'#10'1'#10; + Result:=Result+'togoAccess'#10'1'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'useAddons'#10'0'#10; + Result:=Result+'version'#10'13.3'#10; + + Result:=Result+'1'#10; + Result:=Result+'updatelevel'#10'0.0'#10; +end; + +end. diff --git a/10.3.2/Keygen/RadVersion.pas b/10.3.2/Keygen/RadVersion.pas new file mode 100644 index 0000000..52196cd --- /dev/null +++ b/10.3.2/Keygen/RadVersion.pas @@ -0,0 +1,85 @@ +unit RadVersion; + +interface +uses Windows,Classes,SysUtils; +type + TPatchInfo=record + Crc:DWORD; + Sha1:string; + PatchOffset:DWORD; + FinalizeArrayOffset:DWORD; + end; + + TRadStudioVersion=record + Name:string; // Rad Studio 10.2 Tokyo Update2 + Ver:string; // 25.0.29039.2004 + BDSVersion:string; // 19.0 + LicVerStr:string; // 10.2 Tokyo + LicHostPID:Integer; // 8219 + LicHostSKU:Integer; // 52 + LicDelphiPID:string; // 2025 + LicCBuilderPID:string; // 4022 + BdsPatchInfo:TPatchInfo; + LicenseManagerPatchInfo:TPatchInfo; + mOasisRuntimePatchInfo:TPatchInfo; + SetupGUID:string; + ISOUrl:string; + ISOMd5:string; + end; + PRadStudioVersion=^TRadStudioVersion; +var + RadStudioVersionList:TStringList; +implementation + +procedure InitRadStudioVersion(VerList:TStringList); +var + RadStudioVersion:PRadStudioVersion; +begin + New(RadStudioVersion); + with RadStudioVersion^ do + begin + Name := 'Rad Studio 10.3 Rio 4364 Architect'; + Ver := '26.0.32429.4364'; + BDSVersion := '20.0'; + LicVerStr := '10.3'; + LicHostPID := 8220; + LicHostSKU := 53; + LicDelphiPID := '2026'; + LicCBuilderPID := '4023'; + BdsPatchInfo.Crc := $C426EC4A; + BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; + BdsPatchInfo.PatchOffset := $1F724; + BdsPatchInfo.FinalizeArrayOffset := $11EF7C; + LicenseManagerPatchInfo.Crc := $0D512F70; + LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; + LicenseManagerPatchInfo.PatchOffset := $1F002C; + LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; + mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; + mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; + SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; + ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; + ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; + end; + VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); +end; + +procedure FinallyRadStudioVersion(VerList:TStringList); +var + RadStudioVersion:PRadStudioVersion; +begin + while VerList.Count>0 do + begin + RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); + if RadStudioVersion<>nil then Dispose(RadStudioVersion); + VerList.Delete(0); + end; +end; + +initialization + RadStudioVersionList:= TStringList.Create; + InitRadStudioVersion(RadStudioVersionList); +finalization + FinallyRadStudioVersion(RadStudioVersionList); + FreeAndNil(RadStudioVersionList); + +end. diff --git a/10.3.2/Keygen/Sha1.pas b/10.3.2/Keygen/Sha1.pas new file mode 100644 index 0000000..2029e4f --- /dev/null +++ b/10.3.2/Keygen/Sha1.pas @@ -0,0 +1,251 @@ +{ + +*************************************************** +* A binary compatible SHA1 implementation * +* written by Dave Barton (davebarton@bigfoot.com) * +*************************************************** +* 160bit hash size * +*************************************************** + +} +unit SHA1; + +interface +uses + Windows,SysUtils; + +type + TSHA1Digest = array[0..19] of byte; + TSHA1Context = record + Hash: array[0..4] of DWord; + Hi, Lo: integer; + Buffer: array[0..63] of byte; + Index: integer; + end; + +procedure SHA1Init(var Context: TSHA1Context); +procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); +procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); + + +function SHA1String(M: AnsiString): TSHA1Digest; +function SHA1File(N: string): TSHA1Digest; +function SHA1Print(Digest: TSHA1Digest): AnsiString; + +//****************************************************************************** +implementation +{ +$R- +} + +function LRot16(X: Word; c: longint): Word; +begin + LRot16 := (X shl c) or (X shr (16 - c)); +end; + + +function RRot16(X: Word; c: longint): Word; +begin + RRot16 := (X shr c) or (X shl (16 - c)); +end; + + +function LRot32(X: DWord; c: longint): DWord; +begin + LRot32 := (X shl c) or (X shr (32 - c)); +end; + + +function RRot32(X: DWord; c: longint): DWord; +begin + RRot32 := (X shr c) or (X shl (32 - c)); +end; + + + +//****************************************************************************** + +function F1(x, y, z: DWord): DWord; +begin + Result := z xor (x and (y xor z)); +end; + +function F2(x, y, z: DWord): DWord; +begin + Result := x xor y xor z; +end; + +function F3(x, y, z: DWord): DWord; +begin + Result := (x and y) or (z and (x or y)); +end; + +//****************************************************************************** + +function RB(A: DWord): DWord; +begin + Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); +end; + +procedure SHA1Compress(var Data: TSHA1Context); +var + A, B, C, D, E, T: DWord; + W: array[0..79] of DWord; + i: integer; +begin + Move(Data.Buffer, W, Sizeof(Data.Buffer)); + for i := 0 to 15 do + W[i] := RB(W[i]); + for i := 16 to 79 do + W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); + A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; + for i := 0 to 19 do + begin + T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 20 to 39 do + begin + T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 40 to 59 do + begin + T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 60 to 79 do + begin + T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + Data.Hash[0] := Data.Hash[0] + A; + Data.Hash[1] := Data.Hash[1] + B; + Data.Hash[2] := Data.Hash[2] + C; + Data.Hash[3] := Data.Hash[3] + D; + Data.Hash[4] := Data.Hash[4] + E; + FillChar(W, Sizeof(W), 0); + FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); +end; + +//****************************************************************************** + +procedure SHA1Init(var Context: TSHA1Context); +begin + Context.Hi := 0; Context.Lo := 0; + Context.Index := 0; + FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); + Context.Hash[0] := $67452301; + Context.Hash[1] := $EFCDAB89; + Context.Hash[2] := $98BADCFE; + Context.Hash[3] := $10325476; + Context.Hash[4] := $C3D2E1F0; +end; + +//****************************************************************************** + +procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); +var + i, k: integer; +begin + for k := 0 to 7 do + begin + i := Context.Lo; + Inc(Context.Lo, Len); + if Context.Lo < i then + Inc(Context.Hi); + end; +end; + +//****************************************************************************** + +procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); +type + PByte = ^Byte; +begin + SHA1UpdateLen(Context, Len); + while Len > 0 do + begin + Context.Buffer[Context.Index] := PByte(Buffer)^; + Inc(PByte(Buffer)); + Inc(Context.Index); + Dec(Len); + if Context.Index = 64 then + begin + Context.Index := 0; + SHA1Compress(Context); + end; + end; +end; + +//****************************************************************************** + +procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); +type + PDWord = ^DWord; +begin + Context.Buffer[Context.Index] := $80; + if Context.Index >= 56 then + SHA1Compress(Context); + PDWord(@Context.Buffer[56])^ := RB(Context.Hi); + PDWord(@Context.Buffer[60])^ := RB(Context.Lo); + SHA1Compress(Context); + Context.Hash[0] := RB(Context.Hash[0]); + Context.Hash[1] := RB(Context.Hash[1]); + Context.Hash[2] := RB(Context.Hash[2]); + Context.Hash[3] := RB(Context.Hash[3]); + Context.Hash[4] := RB(Context.Hash[4]); + Move(Context.Hash, Digest, Sizeof(Digest)); + FillChar(Context, Sizeof(Context), 0); +end; + + +function SHA1String(M: AnsiString): TSHA1Digest; +var + Context: TSHA1Context; +begin + SHA1Init(Context); + SHA1Update(Context, PAnsiChar(M), length(M)); + SHA1Final(Context, Result); +end; + +function SHA1File(N: string): TSHA1Digest; +var + FileHandle: THandle; + MapHandle: THandle; + ViewPointer: pointer; + Context: TSHA1Context; +begin + SHA1Init(Context); + FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, + nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); + if FileHandle <> INVALID_HANDLE_VALUE then try + MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); + if MapHandle <> 0 then try + ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); + if ViewPointer <> nil then try + SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); + finally + UnmapViewOfFile(ViewPointer); + end; + finally + CloseHandle(MapHandle); + end; + finally + CloseHandle(FileHandle); + end; + SHA1Final(Context, Result); +end; + +function SHA1Print(Digest: TSHA1Digest): AnsiString; +var + I: byte; +const + Digits: array[0..15] of AnsiChar = + ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); +begin + Result := ''; + for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; +end; + +end. \ No newline at end of file diff --git a/10.3.2/Release/Activator.exe b/10.3.2/Release/Activator.exe new file mode 100644 index 0000000000000000000000000000000000000000..0427cc6c31a275d277c99b410c9542abda382532 GIT binary patch literal 219688 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 literal 0 HcmV?d00001 diff --git a/10.3.2/Release/Readme.txt b/10.3.2/Release/Readme.txt new file mode 100644 index 0000000..ffa3e2a --- /dev/null +++ b/10.3.2/Release/Readme.txt @@ -0,0 +1,37 @@ +为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe + +他的主要作用: + +1、整合各位大虾的 Keygen +2、相对原始部署方式,这个 Activator 实现“一键激活”! + +使用方法: + +1、执行 Activator.exe + +发布历史: + +2019.07.22 - v15.2.1 + +1、根据 26.0.34749.6593 原版制作,基于 RADStudioKeyPatch.exe 的成果 +2、根据 wg961423 的反馈完善对 macOS64 的支持 + +2019.02.16 - v15.1 + +1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果 + +2018.11.26 - v15.0 + +1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 + +已知问题: + +1、在一些操作系统上如果出现安全提示,直接确定即可。 + +特别感谢: + +1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! +2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang、wg961423 等等我知道的不知道的的网友们的热情测试! +3、andreas hausladen 等大虾们的无私贡献! + +O(∩_∩)O~