From 1d7848c05db44d37287e20c699e43060e076c633 Mon Sep 17 00:00:00 2001 From: Kelvin Lim Date: Thu, 28 Jan 2021 14:06:03 -0600 Subject: [PATCH] add windows and assets --- android/app/build.gradle | 59 +++ assets/greencheck.jpg | Bin 0 -> 67077 bytes assets/mazeimage2.PNG | Bin 0 -> 343758 bytes assets/redx.jpg | Bin 0 -> 39375 bytes lib/Maze.dart | 330 ++++++++++++++++ lib/MazeTest.dart | 362 ++++++++++++++++++ lib/PathGeneration.dart | 113 ++++++ lib/main.dart | 48 +++ lib/server.dart | 81 ++++ lib/startingScreen.dart | 96 +++++ pubspec.yaml | 81 ++++ windows/.gitignore | 17 + windows/CMakeLists.txt | 95 +++++ windows/flutter/CMakeLists.txt | 102 +++++ .../flutter/generated_plugin_registrant.cc | 9 + windows/flutter/generated_plugin_registrant.h | 13 + windows/flutter/generated_plugins.cmake | 15 + windows/runner/CMakeLists.txt | 18 + windows/runner/Runner.rc | 121 ++++++ windows/runner/flutter_window.cpp | 64 ++++ windows/runner/flutter_window.h | 39 ++ windows/runner/main.cpp | 42 ++ windows/runner/resource.h | 16 + windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes windows/runner/run_loop.cpp | 66 ++++ windows/runner/run_loop.h | 40 ++ windows/runner/runner.exe.manifest | 20 + windows/runner/utils.cpp | 64 ++++ windows/runner/utils.h | 19 + windows/runner/win32_window.cpp | 245 ++++++++++++ windows/runner/win32_window.h | 98 +++++ 31 files changed, 2273 insertions(+) create mode 100644 android/app/build.gradle create mode 100644 assets/greencheck.jpg create mode 100644 assets/mazeimage2.PNG create mode 100644 assets/redx.jpg create mode 100644 lib/Maze.dart create mode 100644 lib/MazeTest.dart create mode 100644 lib/PathGeneration.dart create mode 100644 lib/main.dart create mode 100644 lib/server.dart create mode 100644 lib/startingScreen.dart create mode 100644 pubspec.yaml create mode 100644 windows/.gitignore create mode 100644 windows/CMakeLists.txt create mode 100644 windows/flutter/CMakeLists.txt create mode 100644 windows/flutter/generated_plugin_registrant.cc create mode 100644 windows/flutter/generated_plugin_registrant.h create mode 100644 windows/flutter/generated_plugins.cmake create mode 100644 windows/runner/CMakeLists.txt create mode 100644 windows/runner/Runner.rc create mode 100644 windows/runner/flutter_window.cpp create mode 100644 windows/runner/flutter_window.h create mode 100644 windows/runner/main.cpp create mode 100644 windows/runner/resource.h create mode 100644 windows/runner/resources/app_icon.ico create mode 100644 windows/runner/run_loop.cpp create mode 100644 windows/runner/run_loop.h create mode 100644 windows/runner/runner.exe.manifest create mode 100644 windows/runner/utils.cpp create mode 100644 windows/runner/utils.h create mode 100644 windows/runner/win32_window.cpp create mode 100644 windows/runner/win32_window.h diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..f670dbd --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,59 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 30 + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.gmt4" + minSdkVersion 16 + targetSdkVersion 30 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/assets/greencheck.jpg b/assets/greencheck.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68ab1493af487d9678d32cdc95c47fea9bf9472b GIT binary patch literal 67077 zcmeFa2V4}(vM@d*5d;wh6_E_0h9{A>h7uPnh`gQ`$P#<_IGvw z04*(m3jlz_00jX65P>NIDpl}A@GX7R0!$Mgr17{^fFo(~^7LX>G!SJrarUtH^n(FH0)j$P0wPj^Ld=4~Qo<5aLV^H5 z90LHPV4cJQLPCO1f9V?z2LMkAzqdzt?kUlaG@gI_afpEE7oHFOwqFD;zxIm&`rCdH z5`3?NAdv7!-ABHBs}4{DulT+lTyev=6@cQPFV>1$03i+q96iVZ_BZf!xG~^1Kymo+ zVY0&%WMmZ7N63#*(^64TP|=<~af0^5iPO{+2gfg$Z<&8Q6Hp#GLV1+(*wLfMXpSB| zN`pTgrTJEb`ma=gdkIh<1`>d$L?Ap^g+LzUl7!&k02#&~M4+}1 zlN=&FOh$f$;2)6$03p$LM;e42Jr#!x8VCHLPMeE?~rm=(X-Gr>lwhwb#;;JT&eqo8(RqaFbXlj6v5agEl zfG5&JB%%i_um~O}206IKdV)mgW-JY!gID_RzX-G2euCaYC>qe(!9>PhZlCA~^9NSKnGxUnKvMZNT z-5p`z%iT<8V}4wc6%L2*vEYC{_z1cvEZvZ6!M|tDl}dOD1l3^+y}0{auNGC7c)dI$ z2V5%rQePts=}u&?j<|Slg;98yZSPRpt1`%(@LW%Vii%)_Dyqd^#^^8(7#LwkXqt_~ zaqs_04-I#-4cZr~u@#N;bsBkRt8oC*0<)_0_HFyCHeVIR%F??ANoI0Iy`c<>VNTgu^*86HSh0|-jHR*>U$R zmRK0@dcF@*410Os97%!$c;rFp`J!+@>+0Sy`4JqjsN&3y81X~m`u>Z)9mOoRXQIbH zcIDHjP7f0+w*@;bsd8hnXt+54+4RXZj&c)>Ty1+I-_If;kDs982KuD50OO39Og7e=T+KDMpbJ?V{v9 zz@2@YOlpm-FF)^E=W)FgMMYsB(@$@?D(&a772?vreHluTb%}HA;pNLsD!bB5L{WN= zIxarZzaNpk%W5rRX^&9%kfq1<|000|)hoNr(S5@%_7;ymE$5dxhE43H&4j@BMcyQ_ zM4f}l2vP(pCzT-zhhDu@09z5Fo5$_A>%v_fWRc1EDQL?LNB_i&QIjZ zZ`O8<;Q$X=SWQxmSyl3Sftaax+)Jj~Hmsd4haHURM7OYMlL;dZ$mYik5k1~+bGscO zpBDySN8o^lK(3G)9|1)-2tR4#5Ye{0%lK!csq3O~9mD3XI6+OicNoFf%Fjr@brT}4 zw_=vVLnevp4_v(1-bD9!hqy=T*=*nS*FFamzO(z>=Y1GytK^daX2+ObhTUm?lkA?a z12F#n?-q6o8BGC;?-sG`+H1 zM~g>a%z17aQ1RwA^_UAt<3zIDPL1D?oHrgj}6H zRueaHpf8g0rnT=DOhfyJxE5$abEv?e%4PC%mggF0bPR@6CbtP)fD0{wJH zVdvd5pPyM#ydhgvQqi5ZXsv%*p)70E92I=za_CHVNF01A`Gcc;H;fL_dgdY9`pfIc z4}9`1J94ff)#(Q9)C+A?`MZ7D;9%F}q-Q%muNP;LS5aSq+|=3|D%)|p6pye~cz!;N z;^i#`8kLV_@#myXWu$e|>@R5OW_UH|45a2S%$W6gNSTRE_pVaS=P`ZoT!634dM;HN zd|g{wh))YqUEq%z6v2Q3v97`agn651WP`wb1$zpZTB7T-$8cz&FAkc=8Oz% z@V+h0yt~a?ki>J9-lcdC8H58qxs^JpCJWAN%U|AQ+wbke0knhB(&yJ1Cw6-mr{IHW z$$N%E4|6p1%NDw_ptbV(OeP`27AcRBgO45ZdbcmhOCrDU;(%B1DQt>$zO_lOVbu!V z@o}yQ#;PADmclat>DBU@qnhC_W*F1n-QVY5Vp^=l z0TkPQbad;{7qK3kUvWSo|6&nBoi{81T+lT1!BZM;@W-U5rJdPVQk%jUWg)J#?Eik5 zb0Z(VTN(hW#b>h=*7u9pIEFc{4yU_um}sVt%UGSA2Yv5eT+8Wtw!K4fvj1vW>G-jH zm`sN7ksYXa;{JxtlbLH9gxD+TvuVr8Gkp&WJqzSbJQq&xMkITs+SUb?r+x8*BdvFq z&KRG&tl!Q?7tS&d{gis)(PhKXv*C0xA4K;=SKuu~D95e$ni;*}w=*x)zGFyOy68P3}icd>CITWT?L~4`+!)%Le+X zFL-+woU}DSMf)TuovPoLrrO;naYf7qFRW?qRIl#aVG5C9>sEW)8S+L%i`e?6Yh}^V z+PoC)&u-P`)0@5;CRRdN+yKry>nMTGROd;+rvi>&h4|rz5H-|=>>sx6I(KA#wR#0H zrYyFrAf}yXGLtK|c)u<_#Q&5rw(UYY}C2n5vkF)xKF-!HjLux-V#w_=%MO-iYyp`_9K)ix)Lqlg_`t0<@OVXsznxjsywH@2Bm5;SYg!`~@E&QTa55cFUY~0Wfv1oFT^{HRB zQSPzVynFBdy;R+dV|~GpxvL_+1R8nGmPdhd^cUkw;!5I4N_WSq!c9}b^c$%sB2Q%N z@0uUiMqI$_D!$H4Q0^D-k6DRbx$N1C8ULdTZUnbNqw%ZFBFrZMNL*6aBF5W006=w? zz#Jf==TJQh+C_NN=m5uYfIHUHyBnO--bhB`1`rP)cRU`S#$WYSFDc@$>K@*Z?>KxK4+CiqXtlg9x!HPp zy5Vc4I;hvc*&k1S$=MqZ$J2gm4+7P;afcWxn;L>3Joy2C(s%-b7vSkv{*M2KKOHY` zXHO3ph(C^}RP^%p_+Bl@gDvz&M&A*p^&_JQ^-%mZ<32M(cAY&M%mp> z=|=|a=C4&>vU7FRv30Qn+y5rO?~(z{SWrs#%*^(lKDHM%-i<58%4~ZWp01ztfZZLhQUfp-ML1HuxSKFsbXP z3;TZ4@M%0Pcs;nGmmv<{s`-az4M8jU&zd!`bNdF@h1y*-`_?M{?h&mVq>mBsfLG9v z`+hyRv*!+QN54_y&+<2Zx#yGzFuX=H9#GQ#K2Nl9kS9AhgC~LmO#$tC{6YTx7660? z9Bdvy)c}462N2^1of8qN0N@1xxIaCJ zKI74Uio*R*a0jwDjIaCqSRlLzj&kt#i`*FTsRPf!x3O~upCvK^Pv823&jN(ta3;jd z{urPNKmiE&=K(MSihvWC0@r0Qtp(VC7*~+y7j?#$`*HjRhOY---|vs#5d1*=I(PvO zA2|y^fcI>=CU(2^{;1$lz)5Gz5J$S|ZZT^zCr~9}3H#YPgoqoX| zbny_(&DjnDGj_X-S8syfwL@}%1Ht%tgY+PyuJoI_Ngbh{K3=~A9rA=aJ34#(GHNK4 z4e+(=9KgUjC~bVaJyjtd5U7ne#2y3yh5=sR=SA{w#CQlEqwem=3|{_k_n*iI>h_xn z6>JeN{NF>gV2;0?bU~(U+`J8K9Dhf3)D8lcgZO)^!_*A5E`Ogy4u1##j+o5J6B?-C z=Ir=gQdHkMul5}b@AvgXG{yq5-TSrAtH&5tqgiHOc{!6Mq z5MU8N+tULtYcg+7FK{V?L4K<^*)Ze>VZbYuWsC*UcH}Qy`NsapI*J6UcH}Qy`Nsa|0J*8fnC4?S^@xox7R_- z0d$uE3V=P}3D|;$IWwRO8t9&YH~51cq(JuraN=K3;LUmi;F}ZUpoK$VA$$x2-irXX z0mg5vJ9&G1N%8Z0!1!$N@eq7=p6>kqHeURKd;jh!pRo7oluTE4QZt94DR z%+B_*tR|vb0$N^*5GQA~Kq$l@P}|Th(A7@To>g9sS;k+=-`&d{;%&q1@9yRSlk%5k zJ*Zp?Oyj})tjq@_-mbE&2eAswrdqnpik?sivnZbcubqIH0JE4NpP;aaxVShEGZ>5^ zz%L-gFDS$-C@v)o24)B_|8lT`twHS_r1X_kerXHL$+G^^DL+3yK0jeTPpBimproWE zz78QFUXX$p7U1D+WBXo%5(H)kbw2PWGUICmJ!L-LvaBGd2VJnY`%$YGXjLE7 zX>Z35af7%+JiK9`xCHUN`qo`{uOGyJD%al-YH9s*Qg`A;0$RPb-Gutzv$C z2+Y$5Y6k(y*}gXg^H%l+yYtWP_U{WT`-1)YQQQs+`}4wfpwAX+!wa?X;{{D@Z)Xoj zyetHMFzxj{yynk~|3Lpz$lgxM!4v9k1G4JuZsQ2yckzNa;``twr3i)CfKE(9(19t- zs_y3I1M>zwEuPTdU?HG~6C%rs*B4#^VO}9&LqQRI6px4yw*X#izL9Eq+B-W0{2&$L z6%gSS6f*oC=ff)?{wpb{toESS^sf+WX-O%0+WFwsL0w6f)yK!#UP??+NJ3adKtx?@x$SXNj?SzKI5Tu@0x zLPS|m5L93>F=b&9WdRj25dlGE0DH&Cwj0SaDTZq5*JU>ibx zAgs(k?u*ocPX!biC|6k$7pk^kD)1Ke-stMBCCB#2M`n0@8G&yqi{KPB)}0zW12QvyFF@KXZ+izM)?{RZ&> zA1(Yq>+Co2;TQ2%;6Z%&x9ID?bSC`uAo_9qrX)TZn(znWuO<%S!wE?U&k+%T0oA|8 zhbx2e;m<)f4-tYf&OZ*)!-q(S$%x3oIC(HW95_S-w*LbOqKHTd4-=39*uJ_KOwI5o-fLoB2xSb@WWGzvm&v}AghPTH^wpVGf}^R#U&hvKu+FXu#{ z%OUV`%v$=+mQ6K=Kkpm5)KKdkI=8jIzF1~*L0fBe!hTXd#{xCiv@ln#_jLfX;oZP(fipr|$n%b7uw)T$Bu7SZ1 zL&GDZGqZE^pBEOtZf>EscXq+<<0IOMiAacvi4PqjaR*tZ1|!-@1P=kMClvHZg=}c9 z9lmsvEtXdQne9novQqX}?-ik6PJOy10tU99wo_Vr{^Fb{ouQbrJtsLVG)~1E&#w{0 z$5{OKodbq9E}VIoQH~F7kN+0ieqPnYLE=Yv`>(O>YNk&9_a5a`cMN~tmQ*)$4!EC` zThlqRu)`&#VeS$b{y49;Yjkn<_aW%WX=E+h3XN(QYQPlxtcEO21pNg3K_1q)cRvO7 zSMl#aEozfpj zmy$mXKwMlnIbGvECL8%-zRtSYwesbina7T%Q<17C1J35LMhmqNEWLvbro10&=+~-& zTDm@#P9&??n0Nc&LGEHU^?C?0^)$U>P~mPtj#`v9xditVm5l2r2hTCTvzS9rrkW>d zD0}*eRdy8IvSQeBUwE9WzMycCDwm_-M%fc#$lIM8*QQBZ|FAzib;XYj+3{V6QAu@7_Bvj%P- z9}qWwele@>!$sz*KzK`c2?HCKfAg_~t15}6`8m4q>wEdA=vcE;$tB`S`8T4T_C}6K z$n)_#P4gJG8Jvz&+aZ5cev6BnJvWCqg^y<8Y&_ZyiG<0{HUtFJ1>2O94l+EX4e#UE zP$Cl&$YM{*h;fKGB=xDdkttx+Uls?9GkOHgsnQ?s%wuRAEg5cp{qVM+P<0kZwKIe+ z{bp3}JcMH8 z_zU7wPs(L4C|6?uMoR|k0Lc%woB#Up8#na7M>V}qZ?#|BY*$+`Px&+wlp5+`%X*xb z2Ue5F`6yqBLU35-iqsOcV%>%DUhFNR+%9GZz|%{%W2VV@X*rE0jKa+8?Z&dkA! z`_rpq`Q0q-E<_m&+C~aC^q6!MvZ}EM+S4u;^x#d5J4XN3F~LC*6v=gNC*v177usDe z^c~ISx=}KOnLV|^y4*PD7S*>TZ2dvjT^#Y)KvSP>vM%9aSR@XJm|bA!zV|#=Wm8X2 zzHf{i= zOVhRBN%!XXh8p2@WL31G6l3z8QG2GG6iVjES3M1NUU{7&T~6HKd&2DFsp>Kaof*t) zTi3YuB3}^lWb<4&;`$v32MHG)m#fRwjO>VD`_wGMyEIHw>k^EUl~oC-xye3~L7AeQ z^ub3rNau7kcvc)6>nchswMlN6mDZy)NLiEy(gowg^OtX!KOc0l>Pc1iEneg} zv&bW(rq&hu4~xoscG3N9*A=n%-rXwj;#}22qh{o7z?T9a)?8L>#AH3qtuiSrd_cWs z)pa*ZdHQQ?8qJsZrzB<-BP$*sm#vm3d@QyvP zMs5ab8P(%_>5I^}nv9Y#bankK$`=R73&DzZcu_N(M{@ckVjkc76rsl&5x_-Y#cRx- zN{mTEwaa7L-=JkCP@ICj)gCA{OO@D*w+ECx$@?U1t=W}nW#5=}+MWp__F*_s3@Y#y zMzNNl_L*q4m7V7&`i*?Ghw=(;=Rgv|s1aepR#90W)Agpu1!OG7YnIQo)OW7xRMIQm z&!ZF1H@Vi9OOY>fBl=QoMTn(#ny;LNwmarEM!ck(u`VFsZqJOl;pvY_9_+*cp=Y(M z;{(ALg^};Atxf*IvjF~S;XmG{z0_%6x_v#^!-UsTHKKJoH>68yuRR+0dzWr2fsY()YzLy;#proW{?C8s4WJr!s1MI&> zdyVsmCDZrx`!s})xmQJIB$!#+MM=Cn>F8%mOM8(c=^j8HH+X!n73(01xjkFkKOG;e z%}J7{!87FC!jaKEcg&JAbL8IA+3g6|^{j^1gWcGLV}%)U@l5_WpmBB*<#$wl%VA|@ zEAL^lH?4ZsSvt2@>56opreiqZUjlZcOPPYpUD)no!4k*^j zA^~{+^!68V9^zH(EmmE2#N*invsr|52EsWj7ED@#yxQBYtFuRG)q^^-HcJosHGW-y~bRd&)L1T3!;zl8GIn3;1L%xshjxJu|tEMoE?xEue4D zE+s|?4Ubq|aqQTp1mxqiFKjGHH`RsOXw9$cbPYk37{n%Ou}iGw^4cG|kWQ|#ic8v+ zf#~s~#+Y4nlMkw4bt33T<9`Zh!u{vE9=t=Bi{6YdD3`5|t(KI14f1ohnHtnHGi>QL z(ESuCCrz(@+T}@JpU+uz9LT7P+=tjs2Lu$8Mg`-`9ouyz~ zXs!B{aCWC7f*;S50cl?QtusiM8XefY)paDx*iPVkmp)09uV_Dw8rOOc3r*DdW@$#k z8?l8tZ>XM(&CfJy1lQcbOr#8mh)R`?=}W#ILeVkDJQBjZexA~0G;oD9{61ao1+|mw zU5$3FI`uk}agT$S8xkGHu3J`(b)=S#-d(Nc3Ua82i1==(DF`Y@N4DP!@t4~~1~bAi zEvOSvZ11$Y+@KGBa_Fg zcaw>>`5v)htI_XzQOje-*4HFAeBa3{I;iD;cBqMLdURuR&>Hn@^d#IT_zjYr(7h&@ zh4kIHWeW~?W5HNSjvlhAtN4rFW!!(Jujd^LGL1QKX*#tnZ*o60ZjGDnLJ56Hn?_h#P;E-ht$u+wqzSdkPr+m z&184UweN`6AN@FK8g$ z{>ilKHNBHqTj?gjaes@;Jj#U+-L4<8m%Gv55`RZV{gDgo#&LmrP2x=cp7mkX^8S-< z?&xH`J<9MyHjt{8p06Kb(=Iwsz5Pga@>5%tgl;UC%AF=%9Kht&6WHFvS?t0zy*juw zs$(@E-;T^5Do<_5fk!u)6g$fX;i*E3t@;ADo?+$otr{{m1JXL1C`hQTql7mTim!fR zonF&Ax>%euzZZhylW#`qfd<(FH^Q+A_n9?k9u}q*<^HO@fWQ?}w5HoDp8XZ%*n{p$ zi(-s&Lu}LZ!r*w&La$}y!R-8}6XfrvP~3l>S53Ki2HADAal842HPoYKh@<+2-hg7+ zmJ!1x)x`0d!w;=m3bI0})KFP@rSCGhF6yqoQ2A2TFuA>+Sh`m-_F?~gvi~E2@-h`d zizHxg54^QgZxjw6283Uv+YL?fuQGKY{rI#)uFg5%Y1{WIsFV&AI5E+czAQ&`SWQ^F z%ZPwLv7?jTWn_|Je%PA1YA|Gf`Er?wNpDda?St&0lc(ILl!`gzPLU|Rok|E#Ga9+? zoE?+I;TM|}O}^iY)=b_XpG$6Zou_=+?LBDv-29&VR4z9KnZdJ@HRp;}Ok$Hd?KW&y zIqUb(tHn}Q8&z^1cU_0_n#l*BUzm0YhNG&=?nCINJhLMNvipGW=fj{i<4 zuCC5(s+`EKvtaQwGJzQA#qBE}9csNyiXn=TU)kRr!ql$3#`yJCd3UdBq^+KOFTQWT zRL3-->~vx@8s?dsBzcDo2R!lhs@jJvPBwfMF3SB2RzBVj0LT4jc`0d;@l0G|;;j=A zJIfpGi4!~ii_9a^T;zA6n&e~dUlbMPA!?K-xCkm;PA>UjwdStRcPY?FWQfU@aD1}w zgy|I+Ov+9 zh^vHduGMsgkFqK}wxuMYCQ|FlHr5_n=|NA7&GQe-h9$-Er*(B^8oE4SxZmFP*6GWz zIVEK@YYyc#{&?D_T7r(c^>ooa8;#hrYLv9f z>Y@%j%Wpzlg8R@qDZ$h8vi+$w8@{fEsD% z7p4FC>{A#48gI({52mxe=2bMVR+U|4+PswJ?AEdietg4jwG;>}p({Pnw2CWZN2#xyL3GQBjOM}nqT z{dj^{y7X7;y2;Q4_-m~`!xHPSFVw-1vM7h8pjtNqJsN7l>(W8~ovaeJhwj}#XjzWT zIQmlhFfA?9W(4{$I$LWu)WYgNhL2dkiBYf{ z3o7ok>%jpx-1fz>sSn^K=#i%C!wSoHXS1U>Z!I=$={OI)lSf+)YhRhG8{?G7=zN1}dnmO6JJuxK7_i}PjPQ}vO!qcN)>kOpIDtO8< zqj_4d*~uW=Qdz+`DuKlL^l@5qKD6INk;#^4+^S?*l0!auW>4<)i6k5Qs@63jC@%uQjFa+AfVLVlI+ z3lh#8bcA;}8N=)%B)aUp_NdD@_L?;82n|B^=n+co(vM>}ZbJ}UlV#>tqh&p=@4OwF zSiF^c1qT>l$1$Lx{of`V-q^Whl+-A(Dy2V!k^A`8)N0o_-Px^1F6}{y9Ol$M zQg}P{?Z#PJZ0{pS91v+fl3KU0{~__5_0^rq;k4zNylJc`m*Lp)&>G}lMMpO*ooHP|_5 zbh%7?18h~=L({!EO!{Ie`t5m({>!030Py2RMsM)baCb8V z#`d&Da6lz`hzfNdmYC0uiOE)L@QQ37=D<(Awv~RAzM8Mx_N|<0v z8H-4fmjV~ze~420bHLv_BIjIH)R!?!c*RC?zyI9%FVc4I)AL;p(81p4sZj`kPmLhs zv2z9_>U@kyoW|n4g5{@iFe(AJ@!S_4*W2Gn-}bHJeWJzQSM&Ti{|5VGuDn}sTexnu z5GwS@^p`+&_*T!3^hjqIUum!*(vs;r!^MgN#2iEnl}RSLo*!}m7SlKQXD8=(w3Z!&moE?p>z zcZaKU#H~<${iDY@BFby$r(2XBMv|@i?UZ7MgXecbSDD^sc{{rY*N;skdX$}e)FEyH zF!1^aOt&a9utub!W0GAwmsT0di?dCifs6Nw)_yQXW7h}2UgHs?Cg8fwm=a_F2bc54 zlpr;5IZxij94zaq*;WI{AtYGT3cu24fnJ}?V5zOxg`o;@aK-0d7%Gp}ZpdvaZo;qp zf2s1tukg5Y{^gcCl~?Dd4waj{nOeer~>YM z;-?}qa`A5U{&p=@MMc#kc(?k%n@$>fP8mLR%riz+EA9bhv{6@z{OsQ5OFxbUyzPr&uRjlDlFF3jXPKA~!V8 z-K)+}EQHAg+Pn%ju*SJE|gItrELx#K(`Z)4Y z(rNuZ$T`o=hnQYCYG@O}U*Q^A_ULg{`Kz+ttC)hSfl_p0sxO(f z&d~aXRPfJ0FLT3 z9H%*HcTuWeK-cUZIf=TQrEArAxx`o~GZ75+z-`u&3D?w#j8jh@)Ob?Exm zWT#@ZLCEQ|^@e*PI`xk*Pd(EHaR7XWAyfXDfB$IZ_4!-M(b&9uyKktf;llhp!JmVx z1GIQoN9Q`rE{|Jil)?vXPD+iPK>A4S>il!(#1EtFZ|NExqzA2Qsucc6tms;CcG(#r zsFXEPw&Mi$Tf_*JYQ=4Wqo9d<0SGSTQ?&=>irX3E$Io z*S=7#dHK-ApSPOa39_p0&e&WE+6?>VBskx#tc%1&*xkQbk_gWj>mDi9?I3QiSw)6GGM5AEQK>tg9$EArf zgPH7PAEVrX+(!jmYqp-(^7ivMei5yQW{4Vvt}DO18FM^UfxZ) z`%pQ~)R{BY8Itv=9;-N?OLaCat2_Rt1rfaF8!%h* z*y8?-W72S$@Nsqa0dTLIll@8DP;YQ+3mVqr0~3~Qi7-pL&+|s>8}?kr%w{tf6G!Fl z-9A55k@f{#;&(Pz9QR}~#Ua5#cudF=GR^7(ycvw9_`gLVa}9I}Y%E=4x?_1S<=L8R zW|eAkui42rPsb!3?E;S4IV6c?DbLQtY>J+S2{duolWwdwHTikCTEVsq#u}Dd2EFQ_ z7G2l(EHuW{bb221!tIFWhX(j3R8#uLnd;grWL`}z)mr9Bo86zDHvRBcKg8qRshzu| zz3HkbmnD|KA13}EZ2s?nzm;#5wkgs2yl+}7UuLK0o8iz4H7|Ji=!+}wC$}5a`duy& z?!Wlz@M9h^5o+1%(|ZF%8k1(Ms`rAI(0&eEFa&A`{P6VUx`Ozqx8slL<};O@V`<=L z-%9Y(_|?Rk~BisA)6toDgz)d8(|{W4Ij{O zufA@!fU*FBS9*rTktZLVb;)_kb+gaa1Y?5fEt!)dGngH!fLFllF;ngXfnvC4Mv;w@jHqX0krea&m!wQ=Q z(t>rdt8Zbau2;ORzjN(^u-OF13^N#WQ$(YB-Ws8PymY-_a7xFr0J{YDQbwN-y0a2F zFf;CsE=9h~zyVJunD1U~d~miTT_96b$BKQ^Cv}%?$oSU{hVO&n55wi};==WQh_pbu z`V{q!C!>QLE_l%!I8Sj42aGq^(cX=^6)wzvn=6!k^Mq*nT^dTBeyO(bw_RkQ(c9#H zrSt{rdUK-{Z)3mX5lx=RS4OHaQ*X3r4UJOn8Ijy$poYl{yFE$n9%~ob;Mg@^_B|%j zuQ5(bV*)^uB5A1=9HBW+%K-1y9i4Sg@4Xi*%W06gzWh@af>UndW-DZwLyV)NrQQB> zDYOy1sXevfj~9%0Gi}bK(ddzU(rF6$f|~rYQ8>5hlgFFI)$U5-!hGZGg)9mLyb@C^G#NtkQ*eQ{Cy={DdS6B9t3&0mzI(jHC(By<>tTQ<~laV#}-vLhZnjSBUZp{d@@3oA7WWvYJmJO?^{c*;X{ zXi_QogXEfQBRV_YvncC*g>`9ZHTyf_8Wz1rIDlN6CHDTuJb$0~CTK70#3-_!pTk2u zkx(`f2CJMn?(|&xbuPW&$CJ{r#1Yzr&pM_*Or&B;hx)SrwO{1#^EzUIm7m zbJ+3qp4otqHhn$@Z9cx37-iK~+L|2ebIAs}woeyS^di# z+C|%=ht~#T`&sxtx~3Yl*Y{TmsV#e$ChVmZH*!r*$j-LJ)l6MmXSlwGI`zVOLKDU! z%E`n6?%Fv^ss06%?ho$Xe+2aPU)_AWw<6oFSzf#3?C6&;T~MbO{_>rcrIb=rQC{w} zH3=n+ycuW8^j*Pj0mhaqrCry%-zFDGb8@-)iDL?$u-!QlBQtXEHS>laSAI+EyZpEs zrsVxslPfzgL;!RZHktW}w%%=-G+C0N^y!|yq@iBIRjFF0Xk=$Mn{l~x=#1|=_7uJU zd`QEv(XoM{Ba-Km#p~w6UCyf;5llb5>!ldTrNFpLv=TPXHD}{qgDGzE=f34uFf6>b z4XI&%`W14=nzZt2;39t+d?G$TYSdE>4U@l-72&&d$T%*#S$6tRt7HudYq$nU2==*1ZuBy$Zbgs5 zJ(#2Tv}cbO4L`LqAq)B`64bhcPJwZC`>ys;QFyo_Q7_|q~k=o6y=4ouE zyzN#cdgsV!P;a9&t9ww|b$hEo3K#Id^^>;qFqouZ9BbieDK}jflhr?s11h*l<5$@u z+HW_mVD8ifMfQwU?$`F@InNZusGAPhO2oZqGe5r}GT_pBe?WsQ zc6r?Q;gh6$2FP;$ZyQ6E*rrt??1k0QQ{VQIEa2AYn>c_5y>jH+7ExhSG3F%>2oKu2 z1J(y_D}8SSbLrbol&j|w_KW;f>i)A|_Lr(QaezP5noh{OU-qQ_A28u!?`wGR4eFJi zk&m$OFUy?gbUUIFZNzXgX*jsz#f%B$SPm8;ZeujJi@7Z%#DjocFpMRK# ziJo)IawxwAhdwvqqD<5nQPm5eA8Wk4g>=%2Lu?)9al3IQoV=5pKntb;1~=~1o$)fK z@EJk6@8@n|MzzA_EVnQTyp=2U1O?AOm?bF_^$HuCrA2#34HTYypzyA6*>&K~e`Cgm z|6kar@MiSHjxVC}pGh)yEHk8)E{NQXtP=a!W(&z7ULZsy6g`*9Yqxu88as?7Eol1ULA-)6DTRdxuruB&tLtta|aOby}CQoz^~--*1*_(OA3=QZIO zs#j4VY6T&dCu9fr`sL`{!xJ*ImoGOi#gi6RX7!B6mv?!n#20qx+U8`*1lz@aK&E+# zZJ=AXPB}enW)jiypN{SyecO#iv#Nyc=TmPi(V;=>u6-ieHl^^>ymaJih4uwElx4`v z_4ec97-P2ier=+ilIx;9gYBATbyXfCX7pLX$>}`{cYE zR@zJ54Ha3bRgIA0cT=&CZ>Z_YWrax{2)I3yEG^LT;RUf$NypWiy3``yli9-A^R z@&Y~!y2LDIYP|==nZ-9kzp|RELn1=4O*IG!Iy@1MEH`D|K!C z^{@GSBl|`d$Fb+_)lK#n=)yJ@dPh+af5BV!2M56ba;I>w&J)ov)j(9T9w~p>Tg4^A zBXE@KP8?GMMn4|%w9}9$_5_2rumd|{I+wDm;z~S}Qq9JuTfULAf#~`~Q?3QWpl@*F zrPH~2J>FbJ+fyaC-e-S}h>Yph<_q4(ehEzyf39jdoI!1!Pn3=k_Dr9>+u|$vFpnH zQZ0D>8<$Jr?CQE_%w|N?Y|SI}B?&Xm=N~)zhUq8{NEkBT^Npr!sQS|GYjRDAE$;!p zfrkC)m{_(}i-qbbMp=jGfU)QUW;8!)5Y04W4M8+NmaMQr%66FxBz>r?bYE~j5w&m%s}He0 z{`540JjShg(!%G-{=fd3z#k~!{|C3tl#*xQy~t>$Gd&JWUMQ6b%vOq}N%5AZ0i?`( z6A)0_76bBJItcit^wCSWLU_>H5m^aD17N8@x6S$_PcSdBMDjx1&mJB`$_MOn4AW{cVI zH3!bg^GGBTRi%&g@GHAA+2PWsvBFlm=?FDVE8n~=ojO~)YEp)>csngSIej6&TO^t% zD%fniOmGJg=r)KQ#G+RiWA|j4-%T7ieUVMhOwB{(;`*QS=bt^&JhFCeCIVp>59eC? ziUUmdRVz6w!>5Fznrt?h9Mw^7)3p)pT>D{fnDnp(U->@z@mbSOb-BNJYeK2VdaJ_p z$sH@P+{1Di!g@UvH)C6)<@J`M-eP=4_!+kL+k#v(_pYg}Rdv@KmY0(ybra`ZO7xu6 z%J-=$Yq;Wi%jAB80!2ht*u7rG#t%F2bx+7cEYYNFM6Bv-1Bf4k)%0^cFSl~(nAx0{ z)BCFZ(a?lu^bK@XLKk)ctr$Qq!Ba&A4PB0!Zq?cDHBjXZ{@l1GlVN~nsvm!uQ-9nw zyDlO)c7iS)e8GLw9)7avapi0x^wXA3CrQiD)%C$+)43S_Q;J7fn~s?1E>OyaY}kX;n3627=_c!QKUs7D}#T*DV^^*SFs^y9iDPze|UI=7PP>twxfEN%Ciy% zF^;q!qj<-L&5zw@b#G8MkI`*t$2`ox`O-UFms!4EyjBn6+9}TZ_9MRlGQXXK%G*_E zFl|QnSPmQ+QFw_q%(NAqi+;}U)KFVzairwQU`=|nyQ0ed3+hF|3X!Hfj{Ccx2Oug8 zF83?Fa&NS}QqE1y#Q`CWehvYSd59G@b++Su0uJKr2-CP7bc_4+wK!ie_*P$yy{|E~ zDa~4n9=jyBQ!{R@(UQxl6)X#vdw8a4v}tlbeu1g^J>Ol>XN%8a)Ub>V&uX`dw~EnC zA${^;#ZDd#`TP0%tH|=`PfMfpc*iaHF9?hg-wxdR_bC?T*`jlMKYhLTTJ*=#&Whb3 zTGJR*QG2Jp<~gaDqQt}#RSQYauwOhl?~N{xs2$#6_vbHjlQ#I;3&M=C{@@~3l)53fEcH%zs5@dYu5lu+sI7c6R!V3?)eXO{ajuK+;wjl!2Wy9fXH7N?QAZc9Ck!ka7cERy zrgdNLn_dEz8Cq4A*tMZMyQ=-SvhwcVbh!*WWM#DIVBmSZ4*g&?toQ7;$CiiYnwXrC zOYV8(blim;Irc8Nvgx&`Vrz@S`6ScU~V; zSo1iBy;UL^K7LE6P$n-hZ-+C%j6K23+zjFezCiBD4u`s3G^SkHLdCR^aV>5N}+$` zL%{sze>-oq@+2zBnu(k81mf#_^yMyDHQsjA`Dz?Mjg{*}yXxzC#0MpkE^qENy$ocT zToGlpVnv^$-{&u$#S-;Bx7HzDgKrPLxVP7haYUyzNY~k9LK4vL&5Mq-T(}%RBu4arf47 zP5%4;|4bAKML}sKq(d4cL>i<+8tDe<7%)VoLqI@5x?8%L(v5VCke1j+2m{9E@0#y( z&i8w6r`{(%@%{1Nu3dX=Y_IEiyDHOb!-~I@O-<^jptd3w8h}0Jl%I=cf z#ZQzeYU-@B=bo;;Z+}l4eNk@Ef!Xwlac}9y3a* z3}dZ}Pt1(DYf@mSZsR@x_1u(a{QMn-qfkgCu=@Pj6WdwGPdEQYJhm7v>3+ zNuf3sJV&ILE+~!CKCyIoePHR(+aPch5AtAp*+tv(tjRlY#XV;EMS1%m^(`hy^~>vD zp<5|=OJ|M~U81K;=xOvg7*QeVob15BwMZOF;EC;@d|)VX=4eRGh=Z=L}yVG+)>(3}if$ z90${m?;S)84l3@L3{*K$HP-6wrjjj?=8rqwQ^*c~lFf1e@=a$?mxAa5X1(qFyZ|l* zUHb`gJ}2CnCnbnEnzS-MzxH7wmc~=;d3bQvWfgkf6Q?p$8?PR7Z$U(_OZxDFukjK< zs-SC66>H^{Rj)r(H~(&SOMS)l-M2YWd)t*ak~iEG*KGt3llk1Ij@$>uW?NLiP5o{M zR4fMyUo{w{PBciheTf>fMvO4SH0y_iOZR&2qrAc5w+l!rP6&-+kK@H(=e{W`XAIh-lCT&!UvhbDS2owbt?VUyHD{v$$l^ZB zP;sx+lt&{`J##ff#LC&E1=7ea+PA*6(E*#)&0J~Qj9(n0|ufs@}gzV?Fu6Qr#)+Gb(TNtgOG1+|e0K8Z~TI zLf5;(r+3Ct$9`W4t7O0HESJL8PtoryS${=`qyIaEtz#*`(ZxxKon5@U-7~3sg)v@8 zOUGwHnt}C@Aopefv8kG&*Q!M`{Ft(C)-A!QUOjhIA-{xClf`F2Ev4$ybN??}9dqSL ze_L*CumTZ_O*$eqU5E|FxWB7Y^X!RO#2o3%vQ9_O-JIa`8k(u)l~af?9xztotsSN2 z_hI84vk<>_G-J`p9Qj*@dgW5sWacQl` z!4Z?5$~*7$oqv1`+a};y9h$jr^!$xpLuqKSXm;K!YDE=kg_o>b<_hK@gJpRxCl{^S zK0u$j#N^Bzzv1irKp<`=0qZhQPO)I5?CUBpvHP^VGvhGOSP7VNFr6)lxanHjJ=FFQ zoS_1kjyRI^U!IM>YakrWhg#YVKv&pp|9~bV54uu4@^3c>Dw#3m!Ca0{RT3ukSxhL( zI&NLGe~LKCd&^PtUh!&jL3abm)D7{+dYn`kd~{vF7|hF%C=jLjxqQlwseExInrEeI zfwjN$h2|x>6%@UT~E@mNpoC&({_$ui0j!^TD z&3{}P`}=1={x!Ub&zZXG<(!^a{>B1%l=Bj7MwGQmBx=gMiXf1WQd+fXqqwxR$md(| z9oi&@)C+wyUlHK+g=!}hxEvlpS_g9>_hpI;mJ4gq2mF?ZKYXwESrjZcokP~Q9=e8% z+tx<)@sEr4P}yeZrOmui7gs!W-7$oGgbYc#dPQ!C*01JyDcc>jL~2A2Bad!dcw3|1 z)Jkhyy+=!J4OAwtyOxZaKBM$Izh*+VKD~Ge>DhQ_*Sb#Y=*(2T?nchk(r;vZDVYA- z*T?d+{6Q!mdwpVZi64@It*hyju4|??&Ks~({*V~(z8<1NdpU`Q*vYXyr{7l_b)sY- znEz-gp-(JcrH^@A@jL-}rDmG(Xed56B_X{D3bi{uDx;NXg#_YYB8dP$ET&*{y2k(P z2!jStBiqxX9rSTVhRNvR&NK?gA?0jNS0LvA5>}Id8H_)>CT;7f%{6Yrvw7`+_z5Ix8EoC*;0<_MZsZ5;4Y%Eojo+SuHM8#3; zJ1$J!Lb<04CGSpM(ZK8@Erml#6?WT^YwK?wXQwwOVirt}A%-F(s5$Wiq%Pph#~p50 zh*GRqm>3fq8GAZM=p)O2Ej!H4E$}e4JnpXtM9>nm#N*wO$bj23n4Pu_jn^}VfjRe8 zqV+Y|T6-GU^jQRlC%d=XN|V+`w8uxgoaM!`&A{M^Nn)1wGL?Co^SZX5ZUN{h8!oZF7?9PB zn)W^RblF$!fe-b>Er5eRh2GNo_i#w_}(~K$^nk@xUM_)W5A}6M<#~c~UJZozLEQMhFEvB7vO*^aRK)lVgh%2ZYDn@E#Pt)j{()@v9@p_H zb+BT+(5axQ*^!sQm3Zp90KQRY>MdE`cd0Kb@|BF-gKHj)2n*23tBtEQOD-r1#?_%K?eIWIzCbfyex**gQ}d_H;+jT9y0@5eh~JRv235I( zS~1H7dnL-PNW-0URWUFU6~5u(gTkwP-5Sd%&169vihXN5XfEc677uYA3_$p>-SZ&%1m z5)?T3V0kmSsY|nRz)69)(PA#$Z(h81Gsbk2x}j3Anwazgb_x%k!tnOdDkH1#v$1n+ zPhl`KLUjvH+(=b60@E;eEXRw!$G;EH-EDZiMm!PrNz1wkELM{5>2tz_MRvB5&6Wh)tY-yd%xAf#0@BasM3&=x#56NKT!s`1SBQw@ zmAI{qDLwz<(kX%*mYvEogU{c;?0+*1FXyqAlA%)|s2d0Wu1Z#SdRdHKsY*eu5;9 zB6UJxL)kl3u%-a!l?KoI>Stl$Rx307Qq2Zk!8B62sW851k2+`u6<=VCw*_5dObEiG`4~d( z%oK5r-X?7Z(2ncBPXU4Y7{6VJ_nWmjb^i(CObINFys_Ad35lqvwo-62WH(zgSKMlX zQ*qQZew-&RW<@o#5>h?IUx9X)ychj|vO<^3_OqIeU{_{J4)rg1v)V1ylgtu z5q>pt1g(a1&mSTz@aX01&{>GOxhnVSEAhkKkI5Y`Wa;N?sk?|x5^*+UOk=yZ#W$ZB zv-|_j@o(bxe>Fh>{im?Vua6d6ccx9L{dV|f(>}a6G9e~wqYxGLcefTIGO=`*4ubt4 zWOOo3s<0H*CRJF~P103}TaW^x(8zf$yn@r@P>p{vtd#za&K+Kr`{nPml%n0ld3f$z zMCg#dmrwr=&g!T6dJwWY{Bf%xOtAOLtt$leByT;WE|LiJ|M*;}qdvS_S;8|xxegs9 z8aQ=yaZrX}?3;vnF$_X-kPRW>)?UB910TS5~!x*<7m>Y>uAA0S&1 zOM$I1?%05a1rEkm7kunwx)DMKu+WnGGy}UIdG3gl!N=@xNPl&YYf8d?1k`F7Ck2(V zd4!_m`fEgWB3Pv*R>@W{pWFHK1z%3z#WtmA*!0zWP3!Vma*B1zSJy8oVC!Ha+Y{;h zcP-T3-hZq>*c6H4K=C6|$(G^iJMM-HE#zB!?ryNpPn@&$3}oJIY}vPgFEP1%9QPVnk-Bw@_1v9@Uf?tW zCBT=Zcj}pg=+7RaaLnIc_(1V->SXCdRQle+>D+2Ll=I`f!1(%s=aGwcbz z7ZD&T@N%-GyTFLR;e+Ld`9aIlQbjTSnfSp#%hR)o)1yNNM5yqhd%cizYS}`Evi`@U z2YG4llik-8nPbZW{0snBh+R^^=OO0DKWpyrug|c*WlLchEE@44D?dNNJ|ZIAA~-$$ z+M?ZNy3MUF0-o+N#;Sooh2BMB1AP*fY)*Ed{a5b)iM$clnUjR+!qaV@1Lg-DonJv$ z6`4T<2~$Io1K?9v=?RY+lM|$)jHh_Xv&;H~iB$);I6irniS2KPvL+S0<#$6CWxvo- zV7NmVda9a3tQEKm@e=mseMI}h_pHk>HBB03C|p=|*A#GVgL)p+))?Jj~T3{;yWu{^HL5#{;In z+v-9p*3}E!{ynB;-Z*1cr0`R!q0<<7LBcqbmr|W_-qpK=a>lgxQ~D?7*nI9pt2%dS z=udDC`>zk2zZw81^B)R)e`Q~%l+cwH`{j;-QWrCVvRQD0mAgtX`nonB_D7|1+KOZ$U(bOT-Q#A;_c&mxC0eO`Tr&0g2q; z>v4)=UOX*G&BxOwu+_-N$`MK_NgXq{@;-y>=JvT?D~HJRKCC`?U0xe5<0 zM@ebt#WmC`pE%bHb1|~yOmxOq2>@z@$mf9MQgWwz9yjzsb)Vwk?*6Nrt!=3PSPi77rpa8SZ2+OPp9U- zLbp@rNQgii?1p5rECZ$z zwN0zqx?E6zt4{xV=~?J_h0lN8OWmFU2?|ZbZedv1AY%7PF?}J&;GiRDEd#9W{k*u= z+!l1W<3LoWEz8uGc`01tRT)qaPKrHPH>rJfyAEG>rA84i-Aw9>&70i zSP^BW$@)B*rxfXTX%VbM*%G_4b=!9rz=+|GrAZPi=$Frlc|Q@`H~4Pt`PV@pa z_fHJAWdZ(3fhXuE$cpq1Xz0F6#!@R}kr!yC5aQ!B2FHNeAevg= zl3P=CUi!+8#mJieL4)-kWygvty!TbY9J?{}tf)BuXaeqcHq*Ta<6qQ&Y29wUbNl{f zg}f+%NxavuViE&J0y>3KbpU3?@ZC>Pg+0Z}SV7cNh{1iW6YAFyR~3ATuk2KqzNqkw z#tt-rHJXidH%4?OlXAN6njPJY$oL_0PpOzqAzo{*!0;A$Xt9YK7c@Oo0t5YvyZ!l3 z%4RW3JO#z`C+GG~<<;#Ie#tMq0=Ky%X5UXmbmiw1^!A}9Gu;}_L_=u{W~4JjikA{Z zo_Q^8nw7KkM$vXL;M1K3fm6@e7C@MRO+!{0!diC zBy;}(8s?E$WffqenNc&0XL8|;QU6C~+W$R~4evrYXxE3%33+Ilz=xNx8|zB`P;Jj+ zlhltKyxd8#{>~BjVJAaMQB~$!jI?X^vQJ+Po8R<^MO334D1Bg>yRy#CQ4QP{PYL=!c4WJ}H+2T+vCGuiaD4rY$Dl;SfY$@IakjKXm5RyOu^d+PRMc zH7c05xx->w_ae?)f7~t4`^${fAJ?sazxMTe^1r{wV_gGzn03l$TG<33iRT`3lW@gE zxRNi5>^vQhRg0*-OE<#Ni;9#YiF!Oe*p!|1@|T$S2Ui}LA+H9WEp9A0`nT4CU29Y| zk)B!tqgSIiE$kTsYtq%{!p?cBD1eG>BW4-9Z+tM#wwpfg`0T+WIQ%K9G(UXz~zod zElsVX-2rEVJIN`G?LU>D8ke>B3A&0mW7`f3{5JYhA)^r@!EhkipLUsmu+BM_B;qk< z>-cse@M}X7MX%J~p&$U(6SM`DQ?m~;MdRyyYcFpLsd!s&pR6v3doMKe%3~i*r=~;- zvUI}L$Q(#_a_1@Csa=Jp`7p19CIvN&F+GQst$) zWkvG=E|q943(LFAHQ-B*D?+*#Kj~Zg2b#yQH7plJk=X4NQAiWY$WPwcZxV=zLslC; z*tZy@l!LXxs~kQxyr@wuEnEJ1JPysB~ELB$g(yr&7UC3r5h^rtwe@R-l`Jh z`FV*eaVtemu{HK~TO{Aa#hsO!9#AAKNl2Wut=$nkPpcmZleNrRWslv=Vv&$(5O*6u zq7chra|cAz?qOG~vR3(DjZAkafgIF_=+jFqew(e>8P^{)ryaoTTPsice`e0_{Py90 zyYgIAD+*4HAY7GA>tFoeBmK$BDpWYgRSRZ({VWRHbe?Ppke$u*y9d#_j4NdAzpG*; z9lM}GhxQD&=Q~7Hpj;?(X27WW)Ehq*jAR`;G3uxMB%%;P~t!Rtkm)4+JjlVB_+R|o_{xb{{8s+ zyAWR;n-Q1wVki%)d~tWEem49QD)6>_M-4j*pD=5613|Z7C{sfJ>Vp`Ar-@gbftD^& zom=deixhKME#;n=k^+=$4R?#-;=&->o9_nU;tdVwK1MmcTp4c+YJD)mZWhs%!KSAqLu_rw#C{>MFB_W zNmv8;d*onH+=#|(2W|8K^aeqLfFQD4FH#>{I!NOFZFxu1BN#Em& z9wPMC_1xInvjl&~VxJl2egAZ#V&i7^hxpm4?yFtS3nfg^Q2V0O)g2^_Zv{*hvKDH! zQLfom6-D6_Oa71q5@I!Z8&c~&#qM5Fy|@YXK(xSn(J@Om>3phWx-Y7-)L$>g8-8Rd z@||QF*t%`b&`PAqOOWrhLUsUGp(#I9h~F{v2)Y=676*5TgH6wtkP?{m*5!1-58VYY zP8l)T8!?&2)}u!NbkxVD!r>>#5b#{7o^Iirt_6|-*hA#(&La8F+)ogYm+?jI9w7;i z;J*ex{!b0Qg>tc!WwHyluI2QL&~Izfm;rp+2VFkz_djOFDAQV@6C2YBZ6yu(3jHzi z8X=y zc8+%U+h6O#8b2YM12!=4GJ`j%*j&~}G@ zS;;v8ME4;!G3+ftLb3E0zwMs+iuu@*IU!o7de)yHgC(7=JT)L2GaUxWb7Rto_w4uK zepY>eT+>}V$=GkM2LpT2Qc|9yjnT4RGuPXypCGVp9`M6CI{r!?=vQlAj)97H7%b4G*hOL=FK+js=BU)n}582Riy6%RDkKYqn!2c*=TImGw1*XQk{A2_20Z0e;W7vRcX-HzLKf#s@3zj5eH=TqLgB2%!wi4PIgL zG15p3vZC9+Oc5+0pI=ZPyiM*@o~6h+k30O_Cq(la-PtYGl2>cQ2PG#3i?^mNKf#Qf z+H&yzkDzz*gR_hF|NIx*N?hSRCY9F)bKHk^R7O_BgEDD2PqI8c7(#gP)DkUh1 zgGqV^o?AC=8?-`?IoJ)p-)gMrnPNg`q1cbr<}DkVKg~j3AQ6hUXRgHXc1~3p#C_v= zP`fw9EFf7ldBr~s`)rA+O{841H`{cHZFNCxni1cFTwP&sP&1Wvq&9lOH=*K!MIh9ffbpYs5E!lMefFe z=Jbikw6U=c6q1ceZBjpnuRCXW1;*PYm1MPVrqOLu;x8g84LK@9QUZ0CN@jq>#Cal! zpS>!>6-NNW1*kgEwg52OMt??a6Sd+jxPkox4Mu9Z32^2H3>cOQfzE6|(Gc?ue1vC$ ztHt1K8v-){cm^={M!iH%P=o(8XvIG@D6prP#=U*>f>z48j6lJp21!7z{&`JY;jO2T zZoMF8Od+k;>?#>5UJCnKH4lBg_dNEXz+@(ytoe0P$E}AGP%{zQIIN6^j<!woxmHP6UX%rR+h^5Jw7-|eBNLdghO>)So=pceS!uZB`>Z_A_Bj>b? zdI>GBE5_7Ha|SAXF@*&?)Rid(A%L-Oe5Xd6Qe9oVE+?V(yElm@4;_QiW9U3PjN0rm zJbk0m_;dY(Q0C4%;rECx>qHhUM`?S$g9Z@$ame4_eWd%vyOBb{Ya9SyR0fthg6Jd0BZC{L&ZW<6rLSs0&|OGWEi= z4cJ%Kzyx91uUzV*En@gDXxx$|)g}OeGO4{I9bkg+War8`!AKT(U9)WxOLp{=T-Qwe zum~PfARv!JYty*?Yx2B*7Owv_o)@=N*U37VJ~i>6?bACjOm)$anxL-GWG*ybuG#nV^Nl6W0&!}5) zt`KDRtf()JUrAM2sAGyAy@V1z?pf$;UN|1mo;jV|Uea;8ckAgIq_e~|kFjV#Aw(p6 z;L*$69pVF!JoWvtM#t1ivd6a6yZ=4SB?Vfa;`yLU{|yv|PCX60 z#pp`$Jf?~-v8;2n^YinV$PjP-o4uYGE+)qGAT^Jm&I)t(-xt;xn)0?L69U&>(T-3 zV0tBVG2INaHON~1`KYE^oyfKL-6c#h(9J^pUIh?)wFA1E0*$390QB#G_DCLppqq|g z0yU;kj0S*6bG2py6{cUOq16T|Y=OLcFJzK7aQt9r?%#dIXv>M&J}vmX9iE~R7i9lY zZn!irEk~zcqqc6Zazr^K&7+Hhe zdX}EW`O_P>mUE+;^F3{z?Z&*Hp|mMI+qte*e;hO3BOlZC_3m#iC2lLS>&X1o>+)?rNbbDRvlJ%vqNJp8Uz*X)yR_VdeKP`u+yM z^>6hT8nf})ZOxkjJ8)Ll56^cv50$0m`H9uxNlK~3cR$l=!0>5K zuL}xZShAjLeC6CUC)CHR|&+O+}PM)r%@ym+2 zjjIU=Jk`>g7*}QzmlfMrB=~XIz9EvCPEKkWVVkR2T6&57;x%XsWjrgrcZ6PlZ*K6l ztjo`XiKOttc0Tg9?*phuf$#Ga5C;#sC))999S`l#`Z z9zc;IOs&>Dc?9KftJ`dwSHEV)Pg5#ODnFPYb+|qI-OkRnM%!mw;FhMkmXy58J+g5^ zF^4Q)qLFt92hNR<-m4o$KBc&_;1``idh#`9Zp5+auLO%_r~VydK4 z);bIoPMD?*HILH{yR|m$>V5A=1p^c(FFILQ)Yw5DT@>rFB(}xmv)YK!eeYFyQ-7^( zM`qn!3Nvoln_lO#A+5`_`PpbuVu3cc7 z`~p(se^)_qC7Mmf_03}ywx?>1ctvXewR_(`3xod@zWOH+!DK_tVLC+ z=;u)`hTaX~+mbDJek@Ygwr$FC)THjv%9FdBics9RnA!jsqwqR|%n;UIM$B=R;&W}Vh2yJbVwNYAUn)z+~4h62}2 zAZ3k)u}x6pW6OK{my1cCX|=(&C3?S?9lhTPoS18*&TIY@zg3u7uKrb5vzaHqe|cwR zTK0X%G+R<|aoSpl6qs5nXuV$GAeQGq4&^;CKUAma(DcNulxJY=dwcPIJ*g*?THKeN z$a7@x$5Ht7LsPd3;oUKP7r{-IRf2-$cp*}KhCo(>j4#%b@8#EG<%Uzrw67SR05q ze|YpuBk(`+;EM4;tM-S&A&qbxN%{=GeMDg84iFD44#AWA|HnEx? z%M=-PZ=m-lCQ;!_*c9r}gy(?=8Ct?LiS(qBPUJs9Oy7T;O5&`&1dudmT`9O#EKWC> zaWegz=;FWpQHEFB{QRS7*KfxmV;#>Bgd>e^@ARHtB__Y2y~f*U6t$%yE31qj*-|}3 zcUMq{suDzU7oKW`J#5f-dZd#x(rBbq*+YR}-TanR+b2Fk>2q zd-KW?Xp|QK(1{N4{No=-J%;H&LEIUyg^5Fr_2SkUG6ztC$N4!GyJ@5NxdV#ynMui3 z&)Fiv?>awcbh{BrvEAxPbn(3f&}^|C{m=|f%fU8Z>UJ2gQer&F;*n0j_+WKe&L`uC zd`Su+e%g0*6=q3r#Qao56HcF+jvO^P`v&qz(Qz`ffA;0|zU22RU1{09Q4YNM{VC=D zm@4Tn;=*4&@cWs~e_ZF04PEE%jLA54tz?>ANDH|UpBUo@{TbbwrG25i#P^|yLidEq^F?VoJjo0x!DCCBf5)VZ^>}VA;tWLxx#Pw z(Ng;6YChtLYY@Li*JCcHPd`BvQ4i~yqb|7GZ|=*jSzW)>8D2sagdg-p-(&C8eQ&x! zf*R>s|L778Z|XBnad{MTUPtH9RJ7<;MMIVj`%D8CB0?NeE_k&n%J1$q~gqL2iB>Ghd3b)T?W83QN`KD>!GF73;khhB)iF0$E2?o3a~a?0wGR7nVp zpOOUsfc3bKDiC~o$w_!S!aZNnUflzUXx|cPTdPRlDyy zR3OW$D9;f6(JXOe@bUWa^A|U(eEHhte0XQ>uS{IJBvCRK}k#FJ0%Z z1M=b7$nbwW_5NqekH5N;`(1S4UyUq(HC}vmg;6U`r!80Vr8&(#vY>AE3j7w-Wf;{f z?-lH+i#AHqref%}6|^ahr7!fqW30LDUsZMMVkIGRvLB z%dV8?@}}cuLPgwcIDlV{+w`Db$myZUZZf-^JUQN8A0^TEHR*S8*Q`YF$|TzY0QD(g zf3&yyh->RhoizA|paa7<7<%S0V=p`+A{n^t!3>W@_2Th4UXhKe7)8AMaKleV>-NQi zoF(FB>?vG!$JvVsDZ*yQO5Me_m$2962D)I_X9;3VH!vs^PD4ebE8Oo^J$i+tbOlfk zSl@cCkao#uz2gqAJD`fS_#lSVUWO@wGAG;yriIq$u%J};t3<%B9TDDA%@G`E*n`_t z?FFFKO#XlLgh~BD#K{G0V)Y47aK(IirQbASZ#jE5;Iz(qq=jsSMSd)CR+`fvSJ9oA zo2)b-rRy<_j~VhQT2pjaLsajY9>t##yEax0w?LhkoakL6!-4dg{pbACd{jSIEJXm2~4!8bwflWl;%WV z``CoYN;JY9DUhCy>)!`q{?BUF0h7=x}wUxy$e zqCGC2RB>)9uQ-y&BO=P|>qdo$Dg15{pHbkwohZ&hbkx;NU9yJnJ{X^Ch@iSU2lHv7 zdT`@L)Js;^lTuy5bWtS=3gMeqBJk~f614*yMH)AkOa(D*J$9d}|F1H~9c`HlI@-RV zE249yIo3=+If!C9y?2xwLrgXL@wr#eC^z`DGs-!H&;QXZg>*S2llX0VA zbg$rzSs^RrP6&E^x;Uk(PXwi>4K#$t4GnKGyt{g>t)VBtvdHfOw1+rl8fZ} z3ilIV(gk0mdn+qCDSw*s6T~jMn2_*j2}=Fx$d@ZUUhx17GgHs4^(89f6^hT{3<>jP zW3K~wanhgVbrKosuyErE2JU5eo%*U&_`>3x3{;;nwsuub)aLm#5hT?et(YB_2K4og zv`Q{Ka8?NDm{)UhOfgYm?DMqEte%;EpwO*6_l!BxFh(Gwe5){05bO#`w|#H`2iG5fFXd! zOD%jrq8{3b2HXKdfZE8j6I`dIy^#T&d*{C~=69p->F<`H^x$Wz%b(s|I~+dd`tn4sf<2q3ApZ1`?`E4NOvKcze!9V^l`Zhz zSF5$R*gMfu)?&6SnU$cZR_Gd$8Hzo%&RJzW)%3PUOM;4uhs-Np6$bUK7{)6zYhN{_ zAL=}s@HanM{nW&eF;Qu`-#3e&ZCa(FXKMR)(F?s&L@z(2)z{ONl7 zeV3r#MhIJ2Ua(J2`t?;G>kvzQ`V`hXxpB&rA&Lxf_i%W}47!A^sY*2XwL0LPyK?Oi zuegaZY`^zq&U2~D+CYvQ@A9oq&k~zMX{;{qQK}7A&ffucFf#pgQY5fvheP(!kl+{2 z^6X|0xRSyvv1S&^R%42bGwGI56ynOt!y_$13!S@isPsns-n6%qh%$9;*lEqDm)*od zQkd9VXF7YQil}0AK8?Yn&_;<_r?rFS(&QwKh*T4%f|qhC^{L&G^N?`JlWdC1I9M9F zNV-Ms-t%~;^%s5J3fQnc{v)Ou2sp95`~xv9fdSmuF8zj62cQ8%HoV_hYc$}=2JDu8 zf!KgV1-H*M_=RZ$8WoeTe_*(m0GqeWKk(hq-~SH!ThEIsiu1Fw@(arV@7Um&h=`c$ z_Vzn$+g5t4MXYvN@+m-HP8;nQ{wrxSpz9LzzX@QY{~&->%mfj{tAfbIA6==b=aY4D zx!vdbOG5i0JW~fmq9_c)Pv|K73Q64jLSY()(ZIkLPfkqRz>?Im`YjuA^hw6a!REE^ zhg*Awn|{<%CT6hg*QG@4ks+!136UjG?^x@V;{jmR?d$yY(y-xc`|*S)&tq2%tt2`4 zJI!)4i}b!8!7`dEKJkDb^)q-calYKdj4?UH+p5&)S=LCe=Z+T8jjm@;Cb5j@CLrnk z`WOF)?oWSu+kd@6|Hq}_KM*|Jl}V%#xn&t6YZ))3{{8#65{8nCrKS0uG}lnsmoApF z6@=|PE$-I|Vw1flc5O#@WFzCeETi1;#reCFh5AKRXxug*b=s7kpRV`Jm_oPx0<5Oc z?rY_2=~|z$%qvWn(ZEeKaEXl2wx}(@P^_(+!!lJrK^~pSO|?>(H*Vukaxj;MzCtYa zxwo`s`zu;q7L?CgylLIVYhWXYi%*m5G-6TrKGy89&>|#1#>MXP4x99=h@y!g~{l2OU5!5 z4YZxW z8Uqz^R7il|am;V2(BJi*Q=QO0@Hh2&UkdK`;?-{^gWD&EXyv}~YIpV|4QmYkI9f;) zyUq21<%Q0zRtdVdUv_j2;&R8wn>UFUp3T1W6*Jj%=PWoWeHs`nc+dCFXnB}q2rqs| zchyx_X$rFMKSA?3h%;`)b5v~VE~GQlO|bW)*}9fo3*Ek67%Lt{KZTU^9jiKT)K{*i z=zlV<{?0iB=&Js~Ec?ID`0r`^*RC+8?UN@H&w2}J4Sh#cAqKxml!vXi-%;vYte+JD z{--MnS$HF5yd@JT6>HgRs-b_f3YUiM^qmf1o1N5A=Q!=@lebviufc( ztuqIGJMK&_?jQkah|Hv9wP z9YERv?l7SFbg6?Hml!zkZdC_Z=-(=;eTx|B>6VAMBmwTUBVv=i9$eM*JPkPkaMyo$ z0rX#bfkz-T*}HvrdWhyA8>SPcp-yrn*$H-+y zYIV&X4b2NYZ|pK=iS3;+V;eK28}cTGHRDY4!P(&^Gk|ap`hc$Zv^doNdsZ)Tb3v6* z;NjsQ+3lPHR=uqxz!Fx?6z(k*pMpUu3=ZxGfAF7n3Ss6RgDdUgF( z$Lg|yAAt$;U1d@-Nm}`f`sVq$d2bkGX=OE#WyiX@sh(-&OBT+R`cf1<6fD`^x13$!T51w%dYVj*OSDtDg zy*nJ!8ULcAs6$Y5#6Ni}_s7wl!yH-u+Z}8*?$Z2@I*BiJHKoWF|AX);VgbZ|HXP<@p?e5m7g%B4?er z5-~P5C+b*I+Jl(RRm_hbML4^v5@uUs2j1&_H*ndFFj9y~>8zadD~Y3VY-gs;mT@#5 zdOb{fM)REw4l{^7nQl=8zJxDnIPEQvX4?m<2)}>@JJa7l1mFxDeeg@O`zu8U>2AeQ z3pjx;j(k`Js$n?X0jKrFQ4F;E6*zR^7^k+x;SWB5_7#j{9&jpNT-m+Yg%zfHAA7X%7JKaUUCGO?eF5|2{WcKm2mQzJ-uXTIWl9}_&w})yi-mM-t%MCfs zJ|~HJ@`SUp+?U+2&5WY#we;FS)-EnNnamy}#&YS|fuS)g&snU~f~K%dvKQsV;&f}B zWKf~AvG&KNHm7%;*2QZWlc96Q!&eBq1}>BxrrmfP$9iI+bG586!E{X$ciW9^ysdt; z{j6sMK;VAR!heERP2d^;9O8%UmCX9XSBEmpJaBHFf~LkE)9x#yQ6^*lO-Mi(rhz>I zK$8Ur;HOB2dY1obh4g2swSSX5`ul_aZeNqXA0=Elat^Vd-H{89tP;kqybvku5+JBt za1L@6cja1|AUWS_YA$FZ5B&eSyY_G>*R?;T)~HoY=VWQ7nxs;sql9rtL(wFm z2q`){m60`L3`vV=VNSkB-?iIoeQST;-n+H- zb$!>mF8|EyeP8B%pZk99`}h0Z_kBL&VMwgQYA9%g*Vko!LujSNqX9CCU6`2WdbVln zorR0eBAjm39R2WFYoFbgEO)Ebk*UGOh$yD5fuOlyg#f!*RnK9K>n^HFF36d*jw$N5 z#c2;a$FaYtMzKw{^v^VRPFCMsp*|brP0HS{D?Qovbr-MCK74V@4jr9f^uakh^5TMR z<^<0<8f4s(Kz^q_b*WcheRxaRXRg%E9o zYU};SIX+x^ey3|6{Akh7`(_U~eqM1d_x}6!*DA~V7MuDa8t(Gy8ybBWz}9~jg}3`V zIE#YyK&jH#&ojcok0eJrO-clXOF%g2dzLj*nS=lZOF%lvRsxaWG=vH2lz`muA6%D3 z%s`CU(z#PuKCG{$l~aAb``G|JoUFco?}B=ty{;eI$yr)IE4o=0=&;sDR$ZSLY`xIp z5hra$&*jTui;?pyhWiZb>z=PFn1(cWrCgIwxmgU0b?h=1R9xZo-_wQnj3lmCK1x~< z;&5CNk4MO?TA8IP%!^0PbS9<7ZLeKPl7|_;Ivjal*Jl1v(&{EBo0(yVj$4k!_k_clE9xkg{H2jg5}bY=a=dS};d!Z3Hq~CZYakcUz}Fz*KF3(cm&xi7>oc zoJipR zzzf7846n(EoNGh*YUTwD9bx5j1V}LKyMELf=jJ1^uX^PKRz?(N8HmIG{vb|aH%Un% zhKL5*jC$?ZB+3ZvYq_mJG8<|vo@fzvJbd@$c}_`Jb)iT@BmYNo`Dbnq^^I%pNkzNF zyx^iZYpt3Eqx+y^Ft7{H)65zy-oKyv+^fiJP%S(qvZN_He3Ny^1LTC)YVM-X#b68; z2VXE;-7U@^m0%E^9$wWUo9wffc+c0E_{(in+R_@RO zL1{+jo+FOQ?~dc9A=sv|H%W;~ZMlUs=ewy!^TuCq(tRg--WEo4E5@+x?Q}a6uvi&G z=xAmGRT=~g5%sC8+X2~_LsInI_m8(+eiVZsol3? zj8fnwz*EgBD55iZh@*ylYYM!;LML3fvX?wD4dFA`^rqtDni27zX~!90`woG(UqqYl zD)(-*e0ZFZ1`{!W!lCXeRH5N~DTQn%roNA4j}dbjQjhlYbPCxtrE`UEv7xQ2N$&H# z=iHCH7&KqG)8`7k?N0o%lI^Q6R5smjx;mB>t{4|p6lHxfJ;T{0G0yuW(iJ;rG2g6^ zk9Yg>;YEAun>NpzE_X_{qiVPBvjGM^|1R1v+d0hji(ay4>vf6JuuoXp+r!I3gRS}o zvMA5in7W+)s$hmp)r~;0eol2RdwnXS*Oiqb*PY;pcN(Fdy&oj)XREA~2FL9_QR(`^ zd+LBmN+txlxYiGyz~5&eK+ahpkoqsqXL^y{lnthVyll zyC$Wp2&u|fHSJ9)$chnaM|5vuCcTBA$Lssh))iR*wK+Si)S!oB-cbXgHa`%6mn_;v z5LQdN0lo?LVH~_n$Io{V7A3n)YPDC6)A8M1VOhHOoYB5uPFu;&jSt7Ba5v!3<_Ftd zI-rlM4lrd7xURhFp*q|-^uoB%?c#y79d9{pukP1?vW1AW;cJ0k40s)UkG()8G`Ytj zZktxqYRYN9O~`DADyd-Yu+Nawj=d(6jk%@F9+Z_^BAGYeqqw{~8TTl{Ce3K){(P^N zTOC@Z#dAi|mVMq4eGp>l%S~_Cw7$S=lc=HWP`i)5*=LD{Lu*4!3`aiVx+sE)}!%qUopMi-s>3Z@p|{`Qc#- z+soqep@q|sc1DjMUis-K>dVqdWS1p3@!q|T+Zzf~z)nn(@CXFz;kQ$Qvi;qiKT%qD zyqyp#fQY-eP~8)DcPBebz$J_v#b;EE4wZN5D#25> z2FQpVAclO7b@oxj3!}0qDiCffz|+cbWR$XzDxR#16MR4oAlZU(tI;PI@13s8LVRQF*$%NHw+Oy1Vm0c-SV7PU9N>$Q9lSx%|Wa>i;hBD#JDtP_18#`7+ zsQ+v=8Djt)^rTE-7j#Ny)r}lZQrfl=^XX&&BKOtaG4Ay|{iQxX94Ugbl}DRqeR!H& zk=bl(9y>Ql^6cXwyJHo1oX-^tCW!g?Z6#(~%*vcnJQrad=#&8WeI({Qre&Iyi!p#l3SJEWMZ+5@aAAa z(wixjLhsm&YTK%?vm3Gwkq+HFy4*!gb7fFoqH%S-idl{d)C40i-A|kpqNsjmLrA`9ZQHC1DT<+QUu)kW}vQfIKu};|2 zUPzsbJGsWYFMTwoN9OJ!gEn?#HryOI=ExM|i*0ynzYZ&A^6x$b2$8A7)l3TV6Ry@j zq@zn;JE9cMKC(s!H#*VHtsLj=@Q;);0ku_{>4(ntmoz)`m}C{%t;Ly-*oK%lYg?+yRsri5PCOjCT<#rn*p9VkBX3XMp`Yqe9eA{A zM7Davygfn>jVSAmA6D~y0~r!b!BV$N%^3oFjau3y4s9#6*zmHg+u-raGjB_e&$?QR zfy|PZ<27Q>-pM!=>TQkEIPfxTZ3F7Op@!3GH)nN|6}s50l;Egca0q(N)*A>l@xV5@ ze#I)EcwAKES|8z73S3M!`^j!?x683G^*opLP=ubfZ)+JL3HVg=D2c zqbctvl*${kyI~WYK_VDERiuzw?RG?g;+yshi~^=nF)ppt;x^p70ox+fTU)$R>?P>N zdu!4#H-!U-m>x6`|6?z8K1|RXob8LvNiD%99Nz?rru4h4DIEw2NKYw#yi|4j-QFh$7u=HD$ z|3~4l?kl2}+4;TXbxN)Y9Y$IqP8pkV8*>2zWBiS`;TWVk70nm&=%$x z;LsSK{=Q035Zd(M{^hN@Tbq4!4<9!yixvVH-Bj8snLB(v%4wOhPls(tykCd36Q!SY zz|R{L z`YR+`_gTp+@wVq0T5DBr^wgdU*IR^g9_z2U6vsPXY9H?i1(h*g{lqHYAc>Ba_R}Xd zmc|aIn#+@F?@+22gvqbYGZ35oL@ZW`P@K>$@^wFRGHDVM`#}G+j65jZ)rxT|v3q^p zV`O``Z~C~^IHHcE(3q2KIO#OO8KqsCJ*(lPGD#yZ)EhCTKGWlkZ#vKpJym%K)nfw} z8R(XFK`EzRrAfiCEuMs9KZD%PYpz1bKvjQM0OvOg0!QJ` zZZZ3!<)eH8-uA8%PmPW}@~4@`ufb);^dG8G{l>$3ZlXw0Euvv++Eg#L@(mFRsOhsb zYs?bX(i_C{vSNL~afAllz!zTHCq+*pCOM@_%vie-xr4Wf{4rp01_@1-xF_M*4<>T* z5WW8O7&m{hfJX`^9z(H2#;XT{;U$yPkV<@Z(C21zG|jg|it3PjIHp4j?(%Bj)Js~T zxhFl#J|r3~S#o%P@%)Ur)f+}2aDgXC;WCQPod1Rhj}dzx-|fiuAs+@ z!PJ;pgB2dc)O$g)Xs;;*QcjFT<5l=Yohz=%)i?gs>lZ)P?eBEn=ryS)auRu$Sc%{c zn$*if8nXq(0@M&4v?8W*J&aknpTu}}3?O)ZYRs0p$q_>`zA>EovDo1j$jUY*gg6swVSR0FN7fwUwfMiVM zr5r&`N({<2RFZF#Go)5sX;Awlv9N{-hT?eOdCdv|yt~#2(gXl^=m0|9iXor+HFEf; zCsQ*H*6BY+MW)WwzqkRagTl(zStTWQ01C1hrBOOc8X&UuB(&o=?1%6frl$k6l9|va zV0%#A;1|3@WDR;m=@x?xtq_eP0CZsSoSF0$mW~BR5HoEq;z4>8sJq@~bl;+5Kz9(f zfJ0V}ESJhKJ#BhTiCXpKHe!e@B541kA#ZanVhP~y+rC3>e5f9tSffC*X&mLex-*)Rt3#_^5~H z%AJ6_dkof8&J2Vz5hPUupi9k^@ZIKG_dMj{D)*-qJUOSIFbJB)Dp)qhtUS1=#Ce=6 z->iG;D=q^DS2Uwf5(C@8Ro#Kfu|{M1lYO z5B%*6uhS>&CJy3$*)Q@HpRA=gD8)a3fO!jpeAkuLkNpot)J58tQGl)fVQTmxI5&H+QRU zWz-d}3G&JkT}*dg^c4?>cRBTBOx%#!FpTOx&?O<-KG}%}ssbS#??L{VLBtl{C#pqAQ0;{2iG#lLDekM%6=~ zBDtzNGR@72!5`)hCy#F^n<;($DKT2N{)J`bZ=L14zvOvV6;?fe;mii+EK!rulCu*G z24+xZ=94C;oe-fN7UfaIsLc73?Dy|=OuTxP@4|N~=;qwK4YRi+AM2UYgzt-ohl$~0 z_h&UOQ;gk8^+Flclxag%@*Z@~?|iOxBRZe>=_0($zkg%BXwYS1t8-HEywk_9yn6j8 z&}ASvHmGku)bxz`!4LZnFUvkmh&|ZdDgX0>edpVc-`hJSkIHMBo>|R5@;Pm3&O3}h z?ca#|Yt#7{^N*zaGU%e<_}cBAt;ns(-}Jv*o2z1WB}^?vD=SP^E_W$K!~})v zehDNMr;{VgM1Uma6Y@g~!n^Z&xv&@TH1UcY&JC3^K8&H$J9)&o6yn#*3>}=cqY-Pl zh#aqjV@8qpVi~()Ua3HioBDPmT%YJGQ`963$4@?8OA}va!zYY&gf~pQBgxujJiccb zdtTap&th0aq9Mb*Q0J6sVU+ae#0#OdzX_+Gm@@ge>u~0R=9>&;=3l=KIhXYcO+=or zbzlrSr2~t87U~~NWb5|*W(tGLoImb4|M>M^m+XaD;v?+Gr(BV1qs#zoCD1gyRhSSb z7XDyAAwsAv=c5$M>1p&Q_JlvtmlJD`d-er(nt~=Snh+}e8;ehVj*QZa91iOurM)mm zzq#sIsK#2PH7pL_LEFs_mh_!gzBJXmgaC>qz6M4Ya1ODB-HK&`OGcs-|O}J}bUY{ULUD3=r3+ZVPpgVjL|5Bntp{)Hb zZ-|}qT&C%{N|kSJu}E^2S)*g_!9TYn4kDloIJRMu-urH3G!a%2&YLsaix^H;r(7n! z_QDiE>t3xM4Tb5w@@cSx6@u|A5-NRX2*#W%edu)Afk^zEe$^(izZw7O!eXRbHm+^ zT8Ya)kc$Z`FygI|AL)}9KLq|PPf*nQbd7W$jz~`L@Rt#q|$3E{hB#<}5X%jR~Nxvm{m2$n1I;FZMvr9};r^fVxO zq)OoB00;cyyX>0nu>8~z#re^BY}V|tMQzE&aNf%2CI|iMv4($!<_E0DPas$il^-Q3 z@h*&qpQTmhi39Aq{gD5b6IFNgxH$c-7S5Ncd6o6%l+(1>$*6WHc1UY`=cQPl_xMRM zw>B{jltdU%%e;+u{A%sF!qN6gzZLeP!JdRNYrn*!>+ zI^|rLPbBg-@hec_{Gpf@kK%n^wS0F4R_UHob`>hfZdKK6YmnE04KVTP5orx7I#U37`B0WqL$(GA*9)C4g7B z#u8TAH8)aEBwmkLk1i1WDO6I6zOQ7hI7=KR&}T7I>B1Z#dwCQ`v5XaID!EY8gdj@} zfv;zcW=|0cbzDX&^%*qh{UQxzv`o&6p>^NBsqVD;y?Wc!gt3FIby*W#M0%p{8GSnU zTES#||E9bX@_ST%`Dw*uoNx<#c@ufQniMTMd8nz)b#P;-&%AcTf0V+0%*)

_Z$c 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 & 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�} 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 V){WxaG(^Bh{l1P$rIKC5{{T@2&4&O0 literal 0 HcmV?d00001 diff --git a/assets/redx.jpg b/assets/redx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7b88edfa15f90627cac3aa91491ee7257600560 GIT binary patch literal 39375 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 literal 0 HcmV?d00001 diff --git a/lib/Maze.dart b/lib/Maze.dart new file mode 100644 index 0000000..d8749b7 --- /dev/null +++ b/lib/Maze.dart @@ -0,0 +1,330 @@ +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'dart:io'; +import 'dart:convert'; +import 'package:path_provider/path_provider.dart'; +import 'PathGeneration.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'server.dart'; +import 'main.dart'; + +class gameButton extends StatefulWidget { + int id; + //id represents id of button (top left button is 0 bottom right button is 99) + Color color; + bool displayImage; + int onPath=0; + //1 if square is on the path, 0 otherwise + bool testOnPath() { + if(this.onPath==1) + { + return true; + + } + else + { + return false; + } + } + + bool testIfLegal(lastMove) + { + return (((this.id - lastMove).abs() == 1) ^ + ((this.id - lastMove).abs() == 10)); + } + //tests if move is legal + bool moveCheck() + { + if(lastMoveIncorrect) + { + if(this.id == lastMove) + { + lastMoveIncorrect = false; + return true; + } + else + { + return false; + } + } + else + { + if(this.testIfLegal(lastMove) & (this.id==path[correctMoves.length])) + { + lastMove = this.id; + return true; + } + else + { + lastMoveIncorrect=true; + return false; + } + } + } + //function above returns true if move user makes is correct (both a legal move and a square that is on the path) and false otherwise + @override + gameButton(this.id, this.color, this.displayImage); + //initialize state + gameButtonState createState() => gameButtonState(color); + +} + +class gameButtonState extends State { + + Color color; + + //initialize color state of buttons + gameButtonState(this.color); + + //after user clicks next square the previous square should turn back to grey + void turnGrey() { + if (moves.length >= 2) { + if (widget.id == moves[moves.length - 2]) { + null; + } + + else { + PressNotification(id: (moves[moves.length - 2]), color: Colors.grey) + .dispatch(context); + } + } + } + + //if user makes 3 incorrect moves in a row then game shows the user the next correct move by turning it green + void mercyRule() { + if (consecErrors >= 3) { + timeOut = true; + PressNotification(id: lastMove, color: Colors.green).dispatch(context); + } + + else { + null; + } + } +//once user reaches end of maze, game should be reset + void resetGame() + { + //reinitialize variables to default + moves = []; + correctMoves = {}; + times=[]; + errors = []; + consecErrors = 0; + lastMove = 0; //records last CORRECT move of user + lastMoveIncorrect = true; + clock.reset(); + } + + void newMaze() + { + fillMaze(); + resetGame(); + } + + //function executed when any button pressed + void buttonPress() + { + //first prevent uesr from making new moves during 250 milisecond animation + timeOut = true; + times.add(clock.elapsedMilliseconds); + clock.reset(); + setState(() { + //check if move is "correct"- if so square should turn green and display checkmark for 100 miliseconds + if(widget.moveCheck()) { + consecErrors = 0; + errors.add("correct"); + maze1.button_grid[widget.id].color = Colors.green; + maze1.button_grid[widget.id].displayImage = true; + icon = Icons.check; + Timer(Duration(milliseconds: 75), () { + if (this.mounted) { + setState(() { + if(widget.id==99) + { + maze1.button_grid[widget.id].color = Colors.grey; + } + else + { + maze1.button_grid[widget.id].color = Colors.purple; + } + turnGrey(); + maze1.button_grid[widget.id].displayImage = false; + timeOut = false; + }); + } + }); + //ending condition- if move is correct AND the last square on the path then game should display message congratulating them + if(widget.id==99) { + var dict = {"path":path, "moves": moves, "errors": errors, "times": times}; + String data = json.encode(dict); + createData("GMLT-10x10", "KI", data, "1.0"); + attemptNum++; + showDialog( + context: context, + builder: (BuildContext context) { + //return alert congratulating user if reach end of maze successfully + return AlertDialog( + title: new Text("Success!"), + actions: [ + new FlatButton( + onPressed: () { + resetGame(); + Navigator.pop(context); + }, + child: new Text("Same Maze") + ), + + new FlatButton( + onPressed: () { + newMaze(); + Navigator.pop(context); + }, + child: new Text("New Maze") + ) + + ] + ); + } + ); + + } + correctMoves.add(widget.id); + } + else //this code runs if move is INCORRECT- if move is incorrect then square turns red and displays an X + { + //keep track of how many consecutive errors user has made- if 3 then game should show next correct move + consecErrors++; + errors.add("incorrect"); + maze1.button_grid[widget.id].color = Colors.red; + maze1.button_grid[widget.id].displayImage=true; + icon = Icons.clear; + Timer(Duration(milliseconds: 75), () { + if(this.mounted) { + setState(() { + maze1.button_grid[widget.id].color = Colors.purple; + turnGrey(); + maze1.button_grid[widget.id].displayImage=false; + mercyRule(); + timeOut=false; + }); + } + }); + } + + }); + moves.add(widget.id); + recentMove=widget.id; + } + @override + //build actual GUI of "gamebutton" - a flatbutton with an icon hidden within it (either check or X) + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration(border: Border.all(color: Colors.black)), + child: FlatButton( + color: maze1.button_grid[widget.id].color, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + onPressed: () { + //what happens on buttonPress event- either nothing (if animation is taking place) or buttonPress function (defined above) called + timeOut?null:buttonPress(); + }, + child: maze1.button_grid[widget.id].displayImage?Column(// Replace with a Row for horizontal icon + text + children: [ + maze1.button_grid[widget.id].displayImage?Icon(icon):null, + ], + ):null + )); + } +} + +//function allows color of buttons to be changed by sending that gameButton a notification +class PressNotification extends Notification { + final int id; + final Color color; + + const PressNotification({this.id, this.color}); +} +//maze is the collection of all 100 buttons- initialized here +class maze extends StatefulWidget { + List button_grid = [ + for (var i = 0; i < 100; i++) new gameButton(i, Colors.grey, false) + ]; + + @override + mazeState createState() => mazeState(button_grid); + +} +//state of maze +class mazeState extends State { + List button_grid; + mazeState(this.button_grid); + + //function utilizes PressNotification class and allows user to change the colors of individual squares on the maze + bool updateButton(PressNotification notification) { + setState(() { + button_grid[notification.id].color = notification.color; + }); + return true; + } + + //initialize state + start clock once + void initState() + { + super.initState(); + clock.start(); + } + + @override + //build and return concrete implemenation of maze class + Widget build(BuildContext context) { + //wrapped in notification listener so each square can listen for color change event + return NotificationListener( + onNotification: updateButton, + child: + Scaffold( + backgroundColor: Colors.cyan, + body: Column( + children: [ + GridView.builder( + //uniqueKey utilized so buttons that need to change color can dynamically rebuild + key: UniqueKey(), + itemCount: 100, + //squares kept in 10x10 gridview + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 10, + crossAxisSpacing: 0, + mainAxisSpacing: 0 + ), + shrinkWrap: true, + itemBuilder: (BuildContext context, int index) { + return maze1.button_grid[index]; + + } + ), + ] + ), + ), + ); + } +} +//homepage class initialized as class that contains everything +class MyHomePage extends StatefulWidget { + MyHomePage({Key key, this.title}) : super(key: key); + final String title; + + @override + //state set- shouldn't need to change much since maze class is thing thats changing + _MyHomePageState createState() => _MyHomePageState(); +} +class _MyHomePageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Center(child: Text("GMT")), + ), + body: Center( + child: maze1, + ) + ); + } +} \ No newline at end of file diff --git a/lib/MazeTest.dart b/lib/MazeTest.dart new file mode 100644 index 0000000..b5fe7c8 --- /dev/null +++ b/lib/MazeTest.dart @@ -0,0 +1,362 @@ +//import necessary packages +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'dart:io'; +import 'dart:convert'; +import 'main.dart'; +import 'server.dart'; +//initialize new maze +maze maze2= new maze(); +Color color1 = Colors.grey; +int lastMove = 0; //records last CORRECT move of user +bool lastMoveIncorrect = true; //true if user's last move was correct, false otherwise +Stopwatch clock2 = new Stopwatch(); //initialize new stopwatch that will be used to record times of user's moves +List moves2 = []; +List errors2 = []; +List times2 = []; +Set correctMoves2 = {}; +//temporary test path - going to change to make dynamically generated +List path2=[0,1,2,8,14,13,19,20,21,22,28,29,35]; +bool timeOut2 = false; //when true, user is prohibited from entering new moves (so as not to overwhelm game) +int attemptNum2 = 1; +int consecErrors2 = 0; +int recentMove2; //records last move of user regardless of corectness + +void main() { + runApp(MyApp()); + //manually fill in maze + for(var i=0; i<13; i++) + { + maze2.button_grid[path2[i]].onPath=1; + } +} + +class MyApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + primarySwatch: Colors.blue, + visualDensity: VisualDensity.adaptivePlatformDensity, + ), + home: MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class gameButton extends StatefulWidget { + int id; + //id represents id of button (top left button is 0 bottom right button is 99) + Color color; + bool displayImage; + int onPath=0; + //1 if square is on the path, 0 otherwise + bool testOnPath() { + if(this.onPath==1) + { + return true; + + } + else + { + return false; + } + } + + bool testIfLegal(lastMove) + { + return (((this.id - lastMove).abs() == 1) ^ + ((this.id - lastMove).abs() == 6)); + } + //tests if move is legal + bool moveCheck() + { + if(lastMoveIncorrect) + { + if(this.id == lastMove) + { + lastMoveIncorrect = false; + return true; + } + else + { + return false; + } + } + else + { + if(this.testIfLegal(lastMove) & (this.id==path2[correctMoves2.length])) + { + lastMove = this.id; + return true; + } + else + { + lastMoveIncorrect=true; + return false; + } + } + } + //function above returns true if move user makes is correct (both a legal move and a square that is on the path) and false otherwise + @override + gameButton(this.id, this.color, this.displayImage); + //initialize state + gameButtonState createState() => gameButtonState(color); + +} + +class gameButtonState extends State { + + Color color; + + //initialize color state of buttons + gameButtonState(this.color); + + //after user clicks next square the previous square should turn back to grey + void turnGrey() { + if (moves2.length >= 2) { + if (widget.id == moves2[moves2.length - 2]) { + null; + } + + else { + PressNotification(id: (moves2[moves2.length - 2]), color: Colors.grey) + .dispatch(context); + } + } + } + + //if user makes 3 incorrect moves in a row then game shows the user the next correct move by turning it green + void mercyRule() { + if (consecErrors2 >= 3) { + timeOut2 = true; + PressNotification(id: lastMove, color: Colors.green).dispatch(context); + } + + else { + null; + } + } +//once user reaches end of maze, game should be reset + void resetGame() + { + //reinitialize variables to default + moves = []; + correctMoves2 = {}; + consecErrors2 = 0; + lastMove = 0; //records last CORRECT move of user + lastMoveIncorrect = true; + clock2.reset(); + } + + + //function executed when any button pressed + void buttonPress() + { + times2.add(clock2.elapsedMilliseconds); + //first prevent uesr from making new moves during 250 milisecond animation + timeOut2 = true; + clock2.reset(); + setState(() { + //check if move is "correct"- if so square should turn green and display checkmark for 100 miliseconds + if(widget.moveCheck()) { + consecErrors2 = 0; + maze2.button_grid[widget.id].color = Colors.green; + errors2.add("correct"); + maze2.button_grid[widget.id].displayImage = true; + icon = Icons.check; + Timer(Duration(milliseconds: 75), () { + if (this.mounted) { + setState(() { + if(widget.id==35) + { + maze2.button_grid[widget.id].color = Colors.grey; + } + else + { + maze2.button_grid[widget.id].color = Colors.purple; + } + turnGrey(); + maze2.button_grid[widget.id].displayImage = false; + timeOut2 = false; + }); + } + }); + //ending condition- if move is correct AND the last square on the path then game should display message congratulating them + if(widget.id==35) { + var dict2 = {"path":path2, "moves": moves2, "errors": errors2, "times": times2}; + String data = json.encode(dict2); + createData("GMLT-5x5", "KI", data, "1.0"); + + showDialog( + context: context, + builder: (BuildContext context) { + //return alert congratulating user if reach end of maze successfully + return AlertDialog( + title: new Text("Success!"), + actions: [ + new FlatButton( + onPressed: () { + resetGame(); + Navigator.pop(context); + }, + child: new Text("Practice Again") + ), + + new FlatButton( + onPressed: () { + Navigator.push( + context, + new MaterialPageRoute(builder: (context) => maze1), + ); + }, + child: new Text("Start Task") + ) + + ] + ); + } + ); + + } + correctMoves2.add(widget.id); + } + else //this code runs if move is INCORRECT- if move is incorrect then square turns red and displays an X + { + //keep track of how many consecutive errors user has made- if 3 then game should show next correct move + consecErrors2++; + maze2.button_grid[widget.id].color = Colors.red; + errors2.add("incorrect"); + maze2.button_grid[widget.id].displayImage=true; + icon = Icons.clear; + Timer(Duration(milliseconds: 75), () { + if(this.mounted) { + setState(() { + maze2.button_grid[widget.id].color = Colors.purple; + turnGrey(); + maze2.button_grid[widget.id].displayImage=false; + mercyRule(); + timeOut2=false; + }); + } + }); + } + + }); + moves2.add(widget.id); + recentMove2=widget.id; + } + @override + //build actual GUI of "gamebutton" - a flatbutton with an icon hidden within it (either check or X) + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration(border: Border.all(color: Colors.black)), + child: FlatButton( + color: maze2.button_grid[widget.id].color, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + onPressed: () { + //what happens on buttonPress event- either nothing (if animation is taking place) or buttonPress function (defined above) called + timeOut2?null:buttonPress(); + }, + child: maze2.button_grid[widget.id].displayImage?Column(// Replace with a Row for horizontal icon + text + children: [ + maze2.button_grid[widget.id].displayImage?Icon(icon):null, + ], + ):null + )); + } +} + +//function allows color of buttons to be changed by sending that gameButton a notification +class PressNotification extends Notification { + final int id; + final Color color; + + const PressNotification({this.id, this.color}); +} +//maze is the collection of all 100 buttons- initialized here +class maze extends StatefulWidget { + List button_grid = [ + for (var i = 0; i < 36; i++) new gameButton(i, Colors.grey, false) + ]; + + @override + mazeState createState() => mazeState(button_grid); + +} +//state of maze +class mazeState extends State { + List button_grid; + mazeState(this.button_grid); + + //function utilizes PressNotification class and allows user to change the colors of individual squares on the maze + bool updateButton(PressNotification notification) { + setState(() { + button_grid[notification.id].color = notification.color; + }); + return true; + } + + //initialize state + start clock2 once + void initState() + { + super.initState(); + clock2.start(); + } + + @override + //build and return concrete implemenation of maze class + Widget build(BuildContext context) { + //wrapped in notification listener so each square can listen for color change event + return NotificationListener( + onNotification: updateButton, + child: + Scaffold( + backgroundColor:Colors.cyan, + body: Column( + children: [ + GridView.builder( + //uniqueKey utilized so buttons that need to change color can dynamically rebuild + key: UniqueKey(), + itemCount: 36, + //squares kept in 10x10 gridview + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 6, + crossAxisSpacing: 0, + mainAxisSpacing: 0 + ), + shrinkWrap: true, + itemBuilder: (BuildContext context, int index) { + return maze2.button_grid[index]; + + } + ), + ] + ), + ), + ); + } +} +//homepage class initialized as class that contains everything +class MyHomePage extends StatefulWidget { + MyHomePage({Key key, this.title}) : super(key: key); + final String title; + + @override + //state set- shouldn't need to change much since maze class is thing thats changing + _MyHomePageState createState() => _MyHomePageState(); +} +class _MyHomePageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Center(child: Text("GMT")), + ), + body: Center( + child: maze2, + ) + ); + } +} diff --git a/lib/PathGeneration.dart b/lib/PathGeneration.dart new file mode 100644 index 0000000..781b509 --- /dev/null +++ b/lib/PathGeneration.dart @@ -0,0 +1,113 @@ +import 'dart:async'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'dart:math'; +import 'main.dart'; + +void fillMaze() { + + path= genPath(mat); + //clear board + for (int i = 0; i < 100; i++) { + (maze1.button_grid[i]).onPath = 0; + } + + // Generate random new maze + for(int j=0; j<27; j++) { + (maze1.button_grid[path[j]]).onPath=1; + } +} + + +List genPath(List mat) { + var path = new List(); + var possible = new List(); + int naughty = 0; + final _random = new Random(); + int move = 0; + int last = 0; + int bnaughty = 0; + path.add(0); + int id = 0; + while (path.length != 27) { + for (int i = 0; i < 26; i++) { + possible.clear(); + if (id == 99) { + break; + } + if ((id < 90) && ((mat[id + 10]) != -1)) { + possible.add(1); + } + if ((id > 19) && + ((mat[id - 10]) != -1) && + (naughty < 4) && + (last != 4) && + (id % 10 != 9) && + (bnaughty >= 1)) { + possible.add(2); + possible.add(2); + possible.add(2); + possible.add(2); + possible.add(2); + possible.add(2); + } + //left off here + if ((id % 10 != 9) && (mat[id + 1] != -1)) { + possible.add(3); + } + + if ((id % 10 > 1) && + (naughty < 4) && + (mat[id - 1] != -1) && + (id < 90) && + (bnaughty >= 1) && + (id > 9)) { + possible.add(4); + possible.add(4); + possible.add(4); + possible.add(4); + possible.add(4); + possible.add(4); + } + + if (possible.length == 0) { + break; + } + + move = possible[(_random.nextInt(possible.length))]; + if (move == 1) { + id += 10; + mat[id - 10] = -1; + bnaughty++; + } + if (move == 2) { + id -= 10; + mat[id + 10] = -1; + naughty++; + bnaughty = 0; + } + + if (move == 3) { + id += 1; + mat[id - 1] = -1; + bnaughty++; + } + + if (move == 4) { + id -= 1; + mat[id + 1] = -1; + naughty++; + bnaughty = 0; + } + path.add(mat[id]); + last = move; + } + } + return path; +} + + +Listmat= [for(var i=0; i<100;i++) i]; + + + diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..547743d --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,48 @@ +//import necessary packages +import 'dart:async'; +import 'package:flutter/material.dart'; +import 'dart:io'; +import 'dart:convert'; +import 'package:path_provider/path_provider.dart'; +import 'PathGeneration.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'server.dart'; +import 'startingScreen.dart'; +import 'Maze.dart'; +//initialize new maze +maze maze1= new maze(); +Color color1 = Colors.grey; +int lastMove = 0; //records last CORRECT move of user +bool lastMoveIncorrect = true; //true if user's last move was correct, false otherwise +var icon = Icons.check; +var image="assets/greencheck.jpg"; +Stopwatch clock = new Stopwatch(); //initialize new stopwatch that will be used to record times of user's moves +List moves = []; +Set correctMoves = {}; +List times=[]; +List errors = []; +//temporary test path - going to change to make dynamically generated +List path=[0,10,20,30,40,50,60,70,80,90,91,92,93,94,95,96,97,98,99]; +bool timeOut = false; //when true, user is prohibited from entering new moves (so as not to overwhelm game) +var dateTime = DateTime.now(); +int attemptNum = 1; +int consecErrors = 0; +int recentMove; //records last move of user regardless of corectness + +void main() { + //manually fill in maze + for(var i=0; i<19; i++) + { + maze1.button_grid[path[i]].onPath=1; + } + + return runApp(MaterialApp( + home: Scaffold( + appBar: AppBar( + title: Text('Memory Maker'), + backgroundColor: Colors.cyan, + ), + backgroundColor: Colors.blue, + body: startingScreen(), + ))); +} \ No newline at end of file diff --git a/lib/server.dart b/lib/server.dart new file mode 100644 index 0000000..5b875ab --- /dev/null +++ b/lib/server.dart @@ -0,0 +1,81 @@ +import 'package:http/http.dart' as http; +import 'package:json_annotation/json_annotation.dart'; +import 'dart:async'; +import 'dart:convert'; + +//const String serverURL = "https://x0-19.psych.umn.edu/posts"; +const String serverURL = "http://160.94.0.29/posts"; + + +@JsonSerializable(nullable: false) +Data _$DataFromJson(Map json) { + return Data( + studycode: json['studycode'] as String, + guid: json['guid'] as String, + data_version: json['data_version'] as String, + data: json['data'] as String, + ); +} + +Map _$DataToJson(Data instance) => { + 'studycode': instance.studycode, + 'guid': instance.guid, + 'data_version': instance.data_version, + 'data': instance.data, +}; + +class Data { + final String studycode; + final String guid; + final String data; + final String data_version; + + Data({ + this.studycode, + this.guid, + this.data_version, + this.data, + }); + + factory Data.fromJson(Map json) => _$DataFromJson(json); + Map toJson() => _$DataToJson(this); +} + +Future createData( + String studycode, String guid, String dataList, String data_version) async { + Data data = Data( + studycode: studycode, + guid: guid, + data: dataList, + data_version: data_version, + ); + String jsonUser = jsonEncode(data); + //String jsonUser = '{"studycode":"khalid1", "guid": "ab1235-x25", "data_version":"0.1", "data":"[[1,2,3], [4,5,6]]"}'; + print(jsonUser); + + final http.Response response = await http.post( + serverURL, + // 'http://160.94.0.29:5000/posts', + headers: { + 'Content-Type': 'application/json; charset=UTF-8', + }, + body: jsonUser, + ); + + if (response.statusCode == 200) { + return Data.fromJson(jsonDecode(response.body)); + } else { + throw Exception('Failed to create data.'); + } +} + +void main() { + + var dict = {'path':[1,2,3,4], 'moves': [1,2,3,4]}; + String test = json.encode(dict); + + createData("khalid", "ziyan", "hello", test); + +} + + diff --git a/lib/startingScreen.dart b/lib/startingScreen.dart new file mode 100644 index 0000000..b791049 --- /dev/null +++ b/lib/startingScreen.dart @@ -0,0 +1,96 @@ +import 'dart:async'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'main.dart'; +import 'Maze.dart'; +import 'MazeTest.dart'; + + +class startingScreen extends StatefulWidget { + @override + + startingScreenState createState() => startingScreenState (); +} +class startingScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.blue, + body: Center( + child: Column( + children: [ + Row( + children: [ + Expanded( + child: Container( + margin:EdgeInsets.all(20.0), + child: Center(child: new Text("Select a Task", style:new TextStyle(color:Colors.white,fontSize:45, fontWeight: FontWeight.bold),))), + ), + + ], + ), + Row( + children: [ + Column( + children: [ + Container( + margin:EdgeInsets.all(10.0), + child: SizedBox( + width:55.0, + height:55.0, + child: new RaisedButton( + padding: EdgeInsets.all(0.0), + child: Image.asset("assets/mazeimage2.PNG", fit:BoxFit.fill), + onPressed:() { + Navigator.push( + context, + new MaterialPageRoute(builder: (context) => maze1), + ); + } + ) + ), + ), + Container( + child: new Text("GMT-10x10", style:new TextStyle(color:Colors.white)), + ) + + ], + ), + + Column( + children: [ + Container( + margin:EdgeInsets.symmetric(horizontal:45.0,vertical: 10.0), + child: SizedBox( + width:55.0, + height:55.0, + child: new FlatButton( + color: Colors.blue, + padding: EdgeInsets.all(0.0), + child: Image.asset("assets/mazeimage2.PNG", fit:BoxFit.fill), + onPressed:() { + Navigator.push( + context, + new MaterialPageRoute(builder: (context) => maze2), + ); + } + ) + ), + ), + Container( + child: new Text("GMT-6x6", style:new TextStyle(color:Colors.white)), + ) + + ], + ), + + ], + ) + ], + ), + ), + ); + + } + +} diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..f494ef9 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,81 @@ +name: gmtattempt2 +description: A new Flutter application. + +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + path_provider: ^1.2.0 + permission_handler: ^5.0.1+1 + #permission_handler: ^3.2.0 + rflutter_alert: ^1.0.3 + http: ^0.12.2 + json_annotation: ^3.1.1 + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^0.1.3 + +dev_dependencies: + flutter_test: + sdk: flutter + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + assets: + - assets/greencheck.jpg + - assets/redx.jpg + - assets/mazeimage2.PNG + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/windows/.gitignore b/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt new file mode 100644 index 0000000..7d8939a --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,95 @@ +cmake_minimum_required(VERSION 3.15) +project(gmt4 LANGUAGES CXX) + +set(BINARY_NAME "gmt4") + +cmake_policy(SET CMP0063 NEW) + +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Configure build options. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() + +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") + +# Flutter library and tool build rules. +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build +add_subdirectory("runner") + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..744f08a --- /dev/null +++ b/windows/flutter/CMakeLists.txt @@ -0,0 +1,102 @@ +cmake_minimum_required(VERSION 3.15) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..4bfa0f3 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,9 @@ +// +// Generated file. Do not edit. +// + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..9846246 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,13 @@ +// +// Generated file. Do not edit. +// + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..4d10c25 --- /dev/null +++ b/windows/flutter/generated_plugins.cmake @@ -0,0 +1,15 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..977e38b --- /dev/null +++ b/windows/runner/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.15) +project(runner LANGUAGES CXX) + +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "run_loop.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) +apply_standard_settings(${BINARY_NAME}) +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc new file mode 100644 index 0000000..c2f84fc --- /dev/null +++ b/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#ifdef FLUTTER_BUILD_NUMBER +#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER +#else +#define VERSION_AS_NUMBER 1,0,0 +#endif + +#ifdef FLUTTER_BUILD_NAME +#define VERSION_AS_STRING #FLUTTER_BUILD_NAME +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "A new Flutter project." "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "gmt4" "\0" + VALUE "LegalCopyright", "Copyright (C) 2021 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "gmt4.exe" "\0" + VALUE "ProductName", "gmt4" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..c422723 --- /dev/null +++ b/windows/runner/flutter_window.cpp @@ -0,0 +1,64 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(RunLoop* run_loop, + const flutter::DartProject& project) + : run_loop_(run_loop), project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + run_loop_->RegisterFlutterInstance(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + run_loop_->UnregisterFlutterInstance(flutter_controller_->engine()); + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opporutunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/windows/runner/flutter_window.h b/windows/runner/flutter_window.h new file mode 100644 index 0000000..b663ddd --- /dev/null +++ b/windows/runner/flutter_window.h @@ -0,0 +1,39 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "run_loop.h" +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow driven by the |run_loop|, hosting a + // Flutter view running |project|. + explicit FlutterWindow(RunLoop* run_loop, + const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The run loop driving events for this window. + RunLoop* run_loop_; + + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp new file mode 100644 index 0000000..c999d54 --- /dev/null +++ b/windows/runner/main.cpp @@ -0,0 +1,42 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "run_loop.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + RunLoop run_loop; + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(&run_loop, project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.CreateAndShow(L"gmt4", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + run_loop.Run(); + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/windows/runner/resource.h b/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/windows/runner/run_loop.cpp b/windows/runner/run_loop.cpp new file mode 100644 index 0000000..2d6636a --- /dev/null +++ b/windows/runner/run_loop.cpp @@ -0,0 +1,66 @@ +#include "run_loop.h" + +#include + +#include + +RunLoop::RunLoop() {} + +RunLoop::~RunLoop() {} + +void RunLoop::Run() { + bool keep_running = true; + TimePoint next_flutter_event_time = TimePoint::clock::now(); + while (keep_running) { + std::chrono::nanoseconds wait_duration = + std::max(std::chrono::nanoseconds(0), + next_flutter_event_time - TimePoint::clock::now()); + ::MsgWaitForMultipleObjects( + 0, nullptr, FALSE, static_cast(wait_duration.count() / 1000), + QS_ALLINPUT); + bool processed_events = false; + MSG message; + // All pending Windows messages must be processed; MsgWaitForMultipleObjects + // won't return again for items left in the queue after PeekMessage. + while (::PeekMessage(&message, nullptr, 0, 0, PM_REMOVE)) { + processed_events = true; + if (message.message == WM_QUIT) { + keep_running = false; + break; + } + ::TranslateMessage(&message); + ::DispatchMessage(&message); + // Allow Flutter to process messages each time a Windows message is + // processed, to prevent starvation. + next_flutter_event_time = + std::min(next_flutter_event_time, ProcessFlutterMessages()); + } + // If the PeekMessage loop didn't run, process Flutter messages. + if (!processed_events) { + next_flutter_event_time = + std::min(next_flutter_event_time, ProcessFlutterMessages()); + } + } +} + +void RunLoop::RegisterFlutterInstance( + flutter::FlutterEngine* flutter_instance) { + flutter_instances_.insert(flutter_instance); +} + +void RunLoop::UnregisterFlutterInstance( + flutter::FlutterEngine* flutter_instance) { + flutter_instances_.erase(flutter_instance); +} + +RunLoop::TimePoint RunLoop::ProcessFlutterMessages() { + TimePoint next_event_time = TimePoint::max(); + for (auto instance : flutter_instances_) { + std::chrono::nanoseconds wait_duration = instance->ProcessMessages(); + if (wait_duration != std::chrono::nanoseconds::max()) { + next_event_time = + std::min(next_event_time, TimePoint::clock::now() + wait_duration); + } + } + return next_event_time; +} diff --git a/windows/runner/run_loop.h b/windows/runner/run_loop.h new file mode 100644 index 0000000..000d362 --- /dev/null +++ b/windows/runner/run_loop.h @@ -0,0 +1,40 @@ +#ifndef RUNNER_RUN_LOOP_H_ +#define RUNNER_RUN_LOOP_H_ + +#include + +#include +#include + +// A runloop that will service events for Flutter instances as well +// as native messages. +class RunLoop { + public: + RunLoop(); + ~RunLoop(); + + // Prevent copying + RunLoop(RunLoop const&) = delete; + RunLoop& operator=(RunLoop const&) = delete; + + // Runs the run loop until the application quits. + void Run(); + + // Registers the given Flutter instance for event servicing. + void RegisterFlutterInstance( + flutter::FlutterEngine* flutter_instance); + + // Unregisters the given Flutter instance from event servicing. + void UnregisterFlutterInstance( + flutter::FlutterEngine* flutter_instance); + + private: + using TimePoint = std::chrono::steady_clock::time_point; + + // Processes all currently pending messages for registered Flutter instances. + TimePoint ProcessFlutterMessages(); + + std::set flutter_instances_; +}; + +#endif // RUNNER_RUN_LOOP_H_ diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..c977c4a --- /dev/null +++ b/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp new file mode 100644 index 0000000..d19bdbb --- /dev/null +++ b/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + if (target_length == 0) { + return std::string(); + } + std::string utf8_string; + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), + target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/windows/runner/utils.h b/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp new file mode 100644 index 0000000..c10f08d --- /dev/null +++ b/windows/runner/win32_window.cpp @@ -0,0 +1,245 @@ +#include "win32_window.h" + +#include + +#include "resource.h" + +namespace { + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + FreeLibrary(user32_module); + } +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + return OnCreate(); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h new file mode 100644 index 0000000..17ba431 --- /dev/null +++ b/windows/runner/win32_window.h @@ -0,0 +1,98 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates and shows a win32 window with |title| and position and size using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size to will treat the width height passed in to this function + // as logical pixels and scale to appropriate for the default monitor. Returns + // true if the window was created successfully. + bool CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responsponds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_