From 1a1af6b52aef6dc5ef132b141245d75a471a6a47 Mon Sep 17 00:00:00 2001 From: Wanne Date: Thu, 12 Oct 2006 15:59:33 +0000 Subject: [PATCH] - updated some editor files for the high resolution git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@601 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Editor/Editor Taskbar Creation.cpp | 14 +++++++------- Editor/Editor Taskbar Utils.cpp | 22 +++++++++++++++------- Editor/EditorBuildings.cpp | 26 +++++++++++++------------- Editor/EditorItems.cpp | 12 +----------- Editor/EditorMercs.cpp | 3 +-- Editor/Sector Summary.cpp | 5 +++-- JA2.suo | Bin 197632 -> 197632 bytes builddefines.h | 5 ++++- 8 files changed, 44 insertions(+), 43 deletions(-) diff --git a/Editor/Editor Taskbar Creation.cpp b/Editor/Editor Taskbar Creation.cpp index 5d44fb03..a2fd2193 100644 --- a/Editor/Editor Taskbar Creation.cpp +++ b/Editor/Editor Taskbar Creation.cpp @@ -315,13 +315,13 @@ void InitEditorMercsToolbar() MSYS_SetBtnUserData( iEditorButton[ FIRST_MERCS_REL_ATTRIBUTE_BUTTON + x ], 0, x); iEditorButton[ MERCS_ARMY_CODE ] = - CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 410, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 575, 2 * iScreenHeightOffset + 410, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ARMY_CODE ], 0, SOLDIER_CLASS_ARMY ); iEditorButton[ MERCS_ADMIN_CODE ] = - CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 424, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 575, 2 * iScreenHeightOffset + 424, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ADMIN_CODE ], 0, SOLDIER_CLASS_ADMINISTRATOR ); iEditorButton[ MERCS_ELITE_CODE ] = - CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 438, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 575, 2 * iScreenHeightOffset + 438, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ELITE_CODE ], 0, SOLDIER_CLASS_ELITE ); iEditorButton[ MERCS_CIVILIAN_GROUP ] = @@ -355,10 +355,10 @@ void InitEditorMercsToolbar() } iEditorButton[MERCS_BODYTYPE_DOWN] = - CreateEasyNoToggleButton( iScreenWidthOffset + 460,2 * iScreenHeightOffset +364,"EDITOR//leftarrow.sti", MercsSetBodyTypeCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 460, 2 * iScreenHeightOffset +364,"EDITOR//leftarrow.sti", MercsSetBodyTypeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_BODYTYPE_DOWN ], L"Previous body type"); iEditorButton[MERCS_BODYTYPE_UP] = - CreateEasyNoToggleButton( iScreenWidthOffset + 560,2 * iScreenHeightOffset +364,"EDITOR//rightarrow.sti", MercsSetBodyTypeCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 560, 2 * iScreenHeightOffset +364,"EDITOR//rightarrow.sti", MercsSetBodyTypeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_BODYTYPE_UP ], L"Next body type"); iEditorButton[ MERCS_SCHEDULE_VARIANCE1 ] = @@ -592,9 +592,9 @@ void InitEditorItemsToolbar() ItemsKeysCallback ); iEditorButton[ITEMS_LEFTSCROLL] = - CreateEasyNoToggleButton( iScreenWidthOffset + 1,2 * iScreenHeightOffset + 361,"EDITOR//leftscroll.sti", ItemsLeftScrollCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 1, 2 * iScreenHeightOffset + 361,"EDITOR//leftscroll.sti", ItemsLeftScrollCallback); iEditorButton[ITEMS_RIGHTSCROLL] = - CreateEasyNoToggleButton( iScreenWidthOffset + 50,2 * iScreenHeightOffset + 361,"EDITOR//rightscroll.sti", ItemsRightScrollCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 50, 2 * iScreenHeightOffset + 361,"EDITOR//rightscroll.sti", ItemsRightScrollCallback); } diff --git a/Editor/Editor Taskbar Utils.cpp b/Editor/Editor Taskbar Utils.cpp index 669aab57..79dc9a98 100644 --- a/Editor/Editor Taskbar Utils.cpp +++ b/Editor/Editor Taskbar Utils.cpp @@ -609,7 +609,6 @@ void EnableEditorButtons( INT32 iFirstEditorButtonID, INT32 iLastEditorButtonID EnableButton( iEditorButton[ i ] ); } -// WANNE: EDITOR? void RenderMapEntryPointsAndLights() { INT16 sGridNo; @@ -891,8 +890,11 @@ void RenderEditorInfo( ) gubFilename, gTilesets[ giCurrentTilesetID ].zName ); break; case TASK_TERRAIN: - if( gusSelectionType == LINESELECTION ) - swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); + + // WANNE: EDITOR: comment this two lines, because we always get an exception here! + //if( gusSelectionType == LINESELECTION ) + // swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 220, 2 * iScreenHeightOffset + 430, 60, 30 ); swprintf( FPSText, L"%d%%", gusSelectionDensity ); DrawEditorInfoBox( FPSText, FONT12POINT1, iScreenWidthOffset + 310, 2 * iScreenHeightOffset + 430, 40, 30 ); @@ -903,8 +905,12 @@ void RenderEditorInfo( ) break; case TASK_BUILDINGS: UpdateBuildingsInfo(); - if( gusSelectionType == LINESELECTION ) - swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); + + + // WANNE: EDITOR: comment this two lines, because we always get an exception here! + //if( gusSelectionType == LINESELECTION ) + // swprintf( wszSelType[LINESELECTION], L"%d", gusSelectionWidth ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 430, 60, 30 ); break; case TASK_MERCS: @@ -912,8 +918,10 @@ void RenderEditorInfo( ) break; case TASK_MAPINFO: UpdateMapInfo(); - if( gusSelectionType == LINESELECTION ) - swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); + // WANNE: EDITOR: comment this two lines, because we always get an exception here! + //if( gusSelectionType == LINESELECTION ) + // swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 440, 2 * iScreenHeightOffset + 430, 60, 30 ); break; } diff --git a/Editor/EditorBuildings.cpp b/Editor/EditorBuildings.cpp index f2c10172..6441a109 100644 --- a/Editor/EditorBuildings.cpp +++ b/Editor/EditorBuildings.cpp @@ -513,24 +513,24 @@ void InitDoorEditing( INT32 iMapIndex ) DisableEditorTaskbar(); MSYS_DefineRegion( &DoorRegion, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, MSYS_PRIORITY_HIGH-2, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); iDoorButton[ DOOR_BACKGROUND ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 130, 240, 100, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 200, iScreenHeightOffset + 130, 240, 100, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); DisableButton( iDoorButton[ DOOR_BACKGROUND ] ); SpecifyDisabledButtonStyle( iDoorButton[ DOOR_BACKGROUND ], DISABLED_STYLE_NONE ); iDoorButton[ DOOR_OKAY ] = CreateTextButton(L"Okay", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - iScreenWidthOffset + 330, 2 * iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 330, iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, DoorOkayCallback ); iDoorButton[ DOOR_CANCEL ] = CreateTextButton(L"Cancel", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - iScreenWidthOffset + 385, 2 * iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 385, iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, DoorCancelCallback ); InitTextInputModeWithScheme( DEFAULT_SCHEME ); - AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 155, 25, 16, MSYS_PRIORITY_HIGH, L"0", 3, INPUTTYPE_NUMERICSTRICT ); - AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 175, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); - AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 195, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, iScreenHeightOffset + 155, 25, 16, MSYS_PRIORITY_HIGH, L"0", 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, iScreenHeightOffset + 175, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, iScreenHeightOffset + 195, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); iDoorButton[ DOOR_LOCKED ] = - CreateCheckBoxButton( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 215, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_HIGH, DoorToggleLockedCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 210, iScreenHeightOffset + 215, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_HIGH, DoorToggleLockedCallback ); pDoor = FindDoorInfoAtGridNo( iDoorMapIndex ); if( pDoor ) @@ -645,18 +645,18 @@ void FindNextLockedDoor() void RenderDoorEditingWindow() { - InvalidateRegion( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 130, iScreenWidthOffset + 440, 2 * iScreenHeightOffset + 230 ); + InvalidateRegion( iScreenWidthOffset + 200, iScreenHeightOffset + 130, iScreenWidthOffset + 440, iScreenHeightOffset + 230 ); SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); SetFontShadow( FONT_NEARBLACK ); SetFontBackground( 0 ); - mprintf( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 140, L"Editing lock attributes at map index %d.", iDoorMapIndex ); + mprintf( iScreenWidthOffset + 210, iScreenHeightOffset + 140, L"Editing lock attributes at map index %d.", iDoorMapIndex ); SetFontForeground( FONT_GRAY2 ); - mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 160, L"Lock ID" ); - mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 180, L"Trap Type" ); - mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 200, L"Trap Level" ); - mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 218, L"Locked" ); + mprintf( iScreenWidthOffset + 238, iScreenHeightOffset + 160, L"Lock ID" ); + mprintf( iScreenWidthOffset + 238, iScreenHeightOffset + 180, L"Trap Type" ); + mprintf( iScreenWidthOffset + 238, iScreenHeightOffset + 200, L"Trap Level" ); + mprintf( iScreenWidthOffset + 238, iScreenHeightOffset + 218, L"Locked" ); } void KillDoorEditing() diff --git a/Editor/EditorItems.cpp b/Editor/EditorItems.cpp index c906c0aa..8ea4fcd3 100644 --- a/Editor/EditorItems.cpp +++ b/Editor/EditorItems.cpp @@ -1,4 +1,4 @@ -// WANNE: EDITOR: todo +// WANNE: EDITOR? #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -335,7 +335,6 @@ void InitEditorItemsInfo(UINT32 uiItemType) //copy a blank chunk of the editor interface to the new buffer. for( i=0; ipETRLEObject[item->ubGraphicNum].usWidth; @@ -634,7 +626,6 @@ void RenderEditorItemsInfo() uiVideoObjectIndex = GetInterfaceGraphicForItem( item ); GetVideoObject( &hVObject, uiVideoObjectIndex ); - // WANNE: EDITOR? x = iScreenWidthOffset + (eInfo.sSelItemIndex/2 - eInfo.sScrollIndex)*60 + 110; y = 2 * iScreenHeightOffset + 360 + (eInfo.sSelItemIndex % 2) * 40; sWidth = hVObject->pETRLEObject[item->ubGraphicNum].usWidth; @@ -653,7 +644,6 @@ void RenderEditorItemsInfo() usNumItems = CountNumberOfEditorPlacementsInWorld( i, &usQuantity ); if( usNumItems ) { - // WANNE: EDITOR? x = iScreenWidthOffset + (i/2 - eInfo.sScrollIndex)*60 + 110; y = 2 * iScreenHeightOffset + 360 + (i % 2) * 40; SetFont( FONT10ARIAL ); diff --git a/Editor/EditorMercs.cpp b/Editor/EditorMercs.cpp index bc140704..d67eb612 100644 --- a/Editor/EditorMercs.cpp +++ b/Editor/EditorMercs.cpp @@ -793,13 +793,12 @@ void DisplayEditMercWindow( void ) usFillColorLight = Get16BPPColor(FROMRGB(136, 138, 135)); usFillColorTextBk = Get16BPPColor(FROMRGB(250, 240, 188)); - // WANNE: EDITOR? + // WANNE: EDITOR????????? iWidth = 266; iHeight = 360; iYPos = iScreenHeightOffset + 0; iXPos = iScreenWidthOffset + 0; - // Main window ColorFillVideoSurfaceArea(FRAME_BUFFER, iXPos, iYPos, iXPos + iWidth, iYPos + iHeight, usFillColorLight ); ColorFillVideoSurfaceArea(FRAME_BUFFER, iXPos + 1, iYPos + 1, iXPos + iWidth, iYPos + iHeight, usFillColorDark ); diff --git a/Editor/Sector Summary.cpp b/Editor/Sector Summary.cpp index 183dfeaa..382f0fb8 100644 --- a/Editor/Sector Summary.cpp +++ b/Editor/Sector Summary.cpp @@ -2100,9 +2100,10 @@ void SummaryLoadMapCallback( GUI_BUTTON *btn, INT32 reason ) //mprintf( MAP_LEFT, MAP_BOTTOM+100, str ); //InvalidateRegion( MAP_LEFT, MAP_BOTTOM+100, MAP_LEFT+150, MAP_BOTTOM+110 ); - CreateProgressBar( 0, MAP_LEFT+5, MAP_BOTTOM+110, 573, MAP_BOTTOM+120 ); + CreateProgressBar( 0, MAP_LEFT+5, MAP_BOTTOM+110, iScreenWidthOffset + 573, MAP_BOTTOM+120 ); - DefineProgressBarPanel( 0, 65, 79, 94, MAP_LEFT, iScreenHeightOffset + 318, iScreenWidthOffset + 578, iScreenHeightOffset + 356 ); + //DefineProgressBarPanel( 0, 65, 79, 94, MAP_LEFT, iScreenHeightOffset + 318, iScreenWidthOffset + 578, iScreenHeightOffset + 356 ); + DefineProgressBarPanel( 0, 65, 79, 94, MAP_LEFT, iScreenHeightOffset + 318, MAP_LEFT + 161, iScreenHeightOffset + 356 ); swprintf( str, L"Loading map: %s", gszDisplayName ); SetProgressBarTitle( 0, str, BLOCKFONT2, FONT_RED, FONT_NEARBLACK ); SetProgressBarMsgAttributes( 0, SMALLCOMPFONT, FONT_BLACK, FONT_BLACK ); diff --git a/JA2.suo b/JA2.suo index 06418cd4ddb913f36c41dd1f999e8ed4699de472..446cb3201eef11f721eca9e7fbe8f288b43b1c97 100644 GIT binary patch delta 4162 zcmeHKeQZ=!7Qesw>a=}trtP$p4%7All}@Y3$0A{&k|Ofa0;LrE+7(NsT}6?8svyWt zAsV2f;?o{9F_s#P+7gKq9rT~Bkz!oGHQ8MaZ0bK7OmNpt*kq%w>^X1Vc0O8WH@p6` zo4u3!&U@#c`@83!bM85JA_ug{0qx}Vj_iO^>W530E|r?=9Odp1f8|6w9pAw>HqySn z_>X7cWR}_=eZW=kf;T$q-RsohV;0Y`nt5bRg1Os1DVm+WD!}MsvD0a`&#%{;Z`WV@#CxYT@uDa#8og zYmGPr+ULSjv-Y&N-+?epv+DM8_kNaslGZu!iuWyk6`f7j)~m?nLz zKJs}mKlUpZYC*LgX5K!GGAbK}0TmnZ;Go+p&ilvOu^tVN%=0OE>Pz85I?{jcWb-@HxF*j>^HXgz|Li^}?i6U&oiL)z8}t2@S@U zy@_08x7mnoam14$Sh@x2n}f*9mna<*^V@Vm?AQphpi8Vv6S^?2vVNt_6B@GR&e%Mm zrSzo_=d6v>jUAYwpNwNDq2ai$Q*S}Ne;o(>Hnl^oQ*Hdbmp++^;%w_^$pm_?lXreu zLH!*YRcQV{LDkpT`U$U*~&Xu;d@xw z?R+fdWGChf+R6x>M#~Ct?kNNFOS{z_DPm1Fw9qLDo%QuBC3&HpmFcFBW}-y@NYW2C zp~o|e9KUb}?H8s@4{mB88CN#-#lPPi3Miv?%4vBLCaaK3~T6k-1>N-|= zr{y?(uMI17<>gHfvc-g!XNJrfu$Lcj(Lg8q$(W7XW@Xx1oef^+q>oo(2R%ND%BpS7 zyO1M?mou0>t`01@kTXzoAxFX@%RW~IoqP>LG&T(`itfiwL#bjlKABTr`eeG)hc6_= z4eIMd)9e&^&UfkZ$%`$dZ;s*v+Oh{;cQc!F7e)H8Idw@++366m*rTZ99CaA}(70-x ziPPocsy)iNhgv&OVChF|4nq%c%1#%K(GlDUYCnYR0B7^`VWQ{p2YUBK+*S2^=NoZT za>7p+OWs`rZHWVFc!ZqgOce|F}YE@{r zl>xaXODk66b_hF^>|5G_C0}I?)O?kdu!BQQm5{2V&SfYeV+1|=|8$--Xx<^L3Ir!{ z1$*lY+HefNoIY*hXu@JjHNY%8yB2%QFP|w4A54>i zUq%c4=@WRucGZ}X3BsX{!t5~C(!pnO!EN1~;#N2@ik#~4VmC7rhEny6v6%A*oxdNg(}Tt3;Oa1)IJ7vjkejzm1kZ;U1FkS@pQ%ugHwQ2xjE`T76H_-@;p|Wtgjl zmG$2LE41Qfj))z6+1k$c!)|pam!medQ}rZllepl_%Dh@UYA4?FiYGk+m6^dREPr3_ zI%pk(O{pQswKBc(C!Z>9+f*wJ3}G|9wHeE);djWR#lOXw*F&gv WEc$UW`fOTRhQ$w`#S3R0;lBgqaLefc delta 3459 zcma)8eNa@_6~Di?yRa*d-Gv1tit<2IKD0%mDUKfn5u=R8Rgr2{Re6Yn2s=!4dm2mSo}NJxR!PlX{9h&nA(o^;Y$G!izlHel&PbwZo+dfS3HJJQO{} z*=McD5JEqxr|X|N3m0}vMw^9CG>L%l^H+#&iMo@Q2SlT2ksG?(m08rC%F}AbtTRD% zJZqFd$)HlyGqz-KSZ)RDU3*!^c|4cA{x73`C)KN_g*PIb0gqQ-pH`fZpa{{g==VHT zYH|#Y&CMID_13iG@aT8b9@8s&mg#|XuWF4!4Bkn1D{G`OEzHfz!^T6d6ZvoF;ovcg zM-mT}M=}p557v}$^Oy)O%X}ZbbDX_}slEA%K0Zecs;e8F_#)U^<@ebH<0!$e`agPz z-bg?$-qXuR7VC#UE!Cg-uT#IJ%@5XJzGYG6?NY+RN%QD|kGGmq-}(4c)x`jLBZ(w| z!8^ZGms9V{*iNmZSbMPvRWP|*+C&9S0tL1+jQ%ry>Aq|{M_UvOI^>-$@#e(KzO7Vk z!2p#3)q3YaD`i^IU<_MP25RH)&l|CXmL#Cs7*0Tk&7Kr>vJp`6ViI{ha2xJ?jH4?P zUK}*GWn$1p>;8;V$|_*k#zG8LlC~68)Oi?AYCnTq$F8tv?V|E_5VieE2|QfOia&wO3a;(F0+anoXeeSdN?pM5q&DLPgS z+Ivvey7dsO^zd06ORpD?n+|+P>=!>_r`*rXwO<$h7W7st`i#z> zqEFE^dn#!saMo%1Zj1S?6D?GH6+fWQ&mq~9r3e{9@_Far8s$pk8pYVr2Om81;vwXE z6E~99@p%D${o)XzEAxZ;qY)w#S#&#^G3=Jw!EL;fN0>9!A7Inw^(&!=it&f2xEz+ zBom?}bkd_Ec!J)($g1Xmjm4+QbGVT%5Aks>3WzQ24e}_zsE;ys%6$m;yo(!D{1mci z>mN}~zr4r-rN-k$3sh#RDyf>!ILxn49H80{vA-~4V$aO<1JIka%~Uyx+tZxsY8hrr zT~?c}sin=#rPNf5tA(X#LO=1(f$B%_y+HG&{ibsTq z3WWvnd_t!ToIvW7?mT(%cm_-31%3BjIC2)ogQLYM!7Fn&<7xeckpkNKIyO?-gpxbu z<=Uc|$xX{#Cl*PiyXR3ugCnp}TLRYVuYHgUK_?QB-8FzKbInK(e~z#To7kQF;t9D! z-3gc%n-U_yyf{8v5@(y8wC#0lkXf?W_;)5|SrTm_?p&@`QtBs4K20n@hBAQZh-bj5 zIN~(SJT|_fwNqod{{oGDL-qoVVjutO#6h76uPMJwjRDarn&=Ea#h@wp6;y=a$QnqB8TTTvWEv$vJp`nxbBL z8lOoeW<<2*>)}kB*N!yDtKs_gDqTwF@;CfEjwQE9_3$JAZFJI(F}igMb3z22VS>&n z0!Kr5uYtb36MntenoQ+a@c4u7Z)w4(@nrz2QVeEhX-cUaz#PU#4WTT|fzdk|@ zcb&4C3KJ_#Oqx$QMH`AxOx7=Oo7NYxiF(o$YmS$tmGLSYnZxW60dA!HyyN590iGSA zt5r%ijo*b8Zh4