From 02935c0672866190bd6f3bcad17156c14a0144a6 Mon Sep 17 00:00:00 2001 From: Abyss Morgan <14877700+AbyssMorgan@users.noreply.github.com> Date: Sat, 14 Sep 2024 13:42:51 +0200 Subject: [PATCH] v2.3.0 --- .gitattributes | 2 +- .gitignore | 2 +- .vscode/settings.json | 7 +- AVE-PHP.cmd | 12 - AVE-PHP.sh | 3 - BuildLinux.ave-php | 28 - BuildLinux.ngcs | 29 + Changelog.txt | 42 +- NGC-TOOLKIT.ico | Bin 0 -> 40130 bytes AVE-PHP.iss => NGC-TOOLKIT.iss | 25 +- README.md | 6 +- ave-php.ico | Bin 115640 -> 0 bytes ave-php.png | Bin 1071967 -> 0 bytes bin/MakeBackup.cmd | 11 + bin/Script.cmd | 11 + bin/Toolkit.cmd | 12 + bin/Toolkit.sh | 3 + commands/AVE-BACKUP.cmd | 11 - commands/AVE-PHP-SCRIPT.cmd | 11 - example.ave-php | 14 - example.ngcs | 15 + includes/avecore/AveStorage.php | 29 - includes/config/default.ini | 66 +- includes/config/linux.ini | 6 +- includes/config/windows.ini | 8 +- includes/includes.lst | 20 + includes/main.php | 58 -- includes/{avecore => ngc/core}/ADM.php | 4 +- includes/{avecore => ngc/core}/AppBuffer.php | 4 +- includes/{avecore => ngc/core}/BinaryFile.php | 4 +- includes/{avecore => ngc/core}/BitArray.php | 4 +- .../{avecore => ngc/core}/BitFunctions.php | 4 +- includes/{avecore => ngc/core}/Core.php | 93 ++- includes/{avecore => ngc/core}/FtpService.php | 4 +- includes/{avecore => ngc/core}/IniFile.php | 4 +- .../{avecore => ngc/core}/JournalService.php | 4 +- includes/{avecore => ngc/core}/Logs.php | 4 +- includes/{avecore => ngc/core}/Migration.php | 8 +- includes/{avecore => ngc/core}/MySQL.php | 4 +- includes/{avecore => ngc/core}/Request.php | 10 +- includes/ngc/extensions/AppStorage.php | 39 + includes/ngc/extensions/Console.php | 47 ++ .../extensions}/MediaFunctions.php | 45 +- .../{ => ngc}/services/DataBaseBackup.php | 4 +- includes/{ => ngc}/services/FaceDetector.php | 2 +- includes/{ => ngc}/services/GuardDriver.php | 4 +- includes/{ => ngc}/services/GuardPattern.php | 2 +- .../{ => ngc}/services/StringConverter.php | 4 +- includes/{ => ngc}/tools/AdmFileConverter.php | 76 +- .../{ => ngc}/tools/CheckFileIntegrity.php | 182 ++--- includes/ngc/tools/DirectoryFunctions.php | 224 ++++++ .../{ => ngc}/tools/DirectoryNamesEditor.php | 286 +++---- includes/{ => ngc}/tools/FileEditor.php | 262 +++--- includes/{ => ngc}/tools/FileFunctions.php | 364 ++++----- includes/{ => ngc}/tools/FileNamesEditor.php | 747 +++++++++--------- includes/{ => ngc}/tools/FtpTools.php | 492 ++++++------ includes/{ => ngc}/tools/MediaSorter.php | 361 +++++---- includes/ngc/tools/MediaTools.php | 645 +++++++++++++++ includes/{ => ngc}/tools/MySQLTools.php | 662 ++++++++-------- includes/ngc/tools/Settings.php | 161 ++++ includes/programs/Script.php | 122 +++ includes/{AVE.php => programs/Toolkit.php} | 138 ++-- includes/script.php | 37 + includes/toolkit.php | 46 ++ includes/tools/AveConsole.php | 31 - includes/tools/AveSettings.php | 161 ---- includes/tools/DirectoryFunctions.php | 224 ------ includes/tools/MediaTools.php | 651 --------------- version | 2 +- 69 files changed, 3392 insertions(+), 3211 deletions(-) delete mode 100644 AVE-PHP.cmd delete mode 100644 AVE-PHP.sh delete mode 100644 BuildLinux.ave-php create mode 100644 BuildLinux.ngcs create mode 100644 NGC-TOOLKIT.ico rename AVE-PHP.iss => NGC-TOOLKIT.iss (60%) delete mode 100644 ave-php.ico delete mode 100644 ave-php.png create mode 100644 bin/MakeBackup.cmd create mode 100644 bin/Script.cmd create mode 100644 bin/Toolkit.cmd create mode 100644 bin/Toolkit.sh delete mode 100644 commands/AVE-BACKUP.cmd delete mode 100644 commands/AVE-PHP-SCRIPT.cmd delete mode 100644 example.ave-php create mode 100644 example.ngcs delete mode 100644 includes/avecore/AveStorage.php create mode 100644 includes/includes.lst delete mode 100644 includes/main.php rename includes/{avecore => ngc/core}/ADM.php (99%) rename includes/{avecore => ngc/core}/AppBuffer.php (98%) rename includes/{avecore => ngc/core}/BinaryFile.php (97%) rename includes/{avecore => ngc/core}/BitArray.php (98%) rename includes/{avecore => ngc/core}/BitFunctions.php (99%) rename includes/{avecore => ngc/core}/Core.php (87%) rename includes/{avecore => ngc/core}/FtpService.php (98%) rename includes/{avecore => ngc/core}/IniFile.php (99%) rename includes/{avecore => ngc/core}/JournalService.php (98%) rename includes/{avecore => ngc/core}/Logs.php (97%) rename includes/{avecore => ngc/core}/Migration.php (94%) rename includes/{avecore => ngc/core}/MySQL.php (97%) rename includes/{avecore => ngc/core}/Request.php (94%) create mode 100644 includes/ngc/extensions/AppStorage.php create mode 100644 includes/ngc/extensions/Console.php rename includes/{services => ngc/extensions}/MediaFunctions.php (79%) rename includes/{ => ngc}/services/DataBaseBackup.php (99%) rename includes/{ => ngc}/services/FaceDetector.php (99%) rename includes/{ => ngc}/services/GuardDriver.php (99%) rename includes/{ => ngc}/services/GuardPattern.php (98%) rename includes/{ => ngc}/services/StringConverter.php (97%) rename includes/{ => ngc}/tools/AdmFileConverter.php (59%) rename includes/{ => ngc}/tools/CheckFileIntegrity.php (61%) create mode 100644 includes/ngc/tools/DirectoryFunctions.php rename includes/{ => ngc}/tools/DirectoryNamesEditor.php (56%) rename includes/{ => ngc}/tools/FileEditor.php (60%) rename includes/{ => ngc}/tools/FileFunctions.php (55%) rename includes/{ => ngc}/tools/FileNamesEditor.php (56%) rename includes/{ => ngc}/tools/FtpTools.php (54%) rename includes/{ => ngc}/tools/MediaSorter.php (51%) create mode 100644 includes/ngc/tools/MediaTools.php rename includes/{ => ngc}/tools/MySQLTools.php (69%) create mode 100644 includes/ngc/tools/Settings.php create mode 100644 includes/programs/Script.php rename includes/{AVE.php => programs/Toolkit.php} (59%) create mode 100644 includes/script.php create mode 100644 includes/toolkit.php delete mode 100644 includes/tools/AveConsole.php delete mode 100644 includes/tools/AveSettings.php delete mode 100644 includes/tools/DirectoryFunctions.php delete mode 100644 includes/tools/MediaTools.php diff --git a/.gitattributes b/.gitattributes index 6a366c1..3da0818 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -*.ave-php linguist-language=PHP +*.ngcs linguist-language=PHP diff --git a/.gitignore b/.gitignore index fde2d31..095e578 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ Setup/*.exe Setup/*.gz -AVE-PHP-CRASH-*.txt +NGC-TOOLKIT-CRASH-*.txt sync.ffs_db composer.lock \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index a7a4a80..978142e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,11 +1,14 @@ { "files.associations": { - "*.ave-php": "php", + "*.ngcs": "php", }, "editor.insertSpaces": false, "php.stubs": [ "*", "imagick" ], - "php.version": "8.3" + "php.version": "8.3", + "php.problems.exclude": { + "/": [7001,7103] + } } \ No newline at end of file diff --git a/AVE-PHP.cmd b/AVE-PHP.cmd deleted file mode 100644 index c0d2acf..0000000 --- a/AVE-PHP.cmd +++ /dev/null @@ -1,12 +0,0 @@ -@ECHO OFF -chcp 65001 -CD /D "%~dp0" -CLS -SET PHP=%PROGRAMFILES%\AVE-UTILITIES\php\8.3 -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\imagick" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PHP%" ECHO.&ECHO AVE-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT -SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0;%PROGRAMFILES%\AVE-UTILITIES\imagick -"%PHP%\php.exe" "%CD%\includes\main.php" --interactive -PAUSE -GOTO :eof \ No newline at end of file diff --git a/AVE-PHP.sh b/AVE-PHP.sh deleted file mode 100644 index 484e1d1..0000000 --- a/AVE-PHP.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -cd "$(dirname "$0")" -/usr/bin/php8.3 "$PWD/includes/main.php" --interactive diff --git a/BuildLinux.ave-php b/BuildLinux.ave-php deleted file mode 100644 index a770192..0000000 --- a/BuildLinux.ave-php +++ /dev/null @@ -1,28 +0,0 @@ -ave->get_file_path("$this->path/version")); - - $this->ave->title("$app_name Builder v$version"); - - $output = "$this->path/Setup"; - $zip_name_a = $this->ave->get_file_path("$output/{$app_name}_v$version"."_LINUX.tar"); - $this->ave->delete($zip_name_a); - - $zip_name_b = $this->ave->get_file_path("$output/{$app_name}_v$version"."_LINUX.tar.gz"); - $this->ave->delete($zip_name_b); - - $this->ave->echo(" Compress \"$zip_name_a\""); - $this->ave->exec("7z", "a -mx0 -ttar -- \"$zip_name_a\" \"includes\" \"vendor\" \"AVE-PHP.sh\" \"composer.json\" \"Changelog.txt\" \"LICENSE\""); - - $this->ave->echo(" Compress \"$zip_name_b\""); - $this->ave->exec("7z", "a -mx9 -tgzip -- \"$zip_name_b\" \"$zip_name_a\""); - - $this->ave->delete($zip_name_a); - - if(file_exists($zip_name_b)){ - $this->ave->pause(" Operation done, press any key to back to menu"); - } else { - $this->ave->pause(" Failed compress files."); - } -?> diff --git a/BuildLinux.ngcs b/BuildLinux.ngcs new file mode 100644 index 0000000..cc850a9 --- /dev/null +++ b/BuildLinux.ngcs @@ -0,0 +1,29 @@ +@AppType NGC_SCRIPT 2.3.0 +core->get_path("$this->path/version")); + + $this->core->title("$app_name Builder v$version"); + + $output = "$this->path/Setup"; + $zip_name_a = $this->core->get_path("$output/{$app_name}_v{$version}_LINUX.tar"); + $this->core->delete($zip_name_a); + + $zip_name_b = $this->core->get_path("$output/{$app_name}_v{$version}_LINUX.tar.gz"); + $this->core->delete($zip_name_b); + + $this->core->echo(" Compress \"$zip_name_a\""); + $this->core->exec("7z", "a -mx0 -ttar -- \"$zip_name_a\" \"includes\" \"vendor\" \"bin\*.sh\" \"composer.json\" \"Changelog.txt\" \"LICENSE\""); + + $this->core->echo(" Compress \"$zip_name_b\""); + $this->core->exec("7z", "a -mx9 -tgzip -- \"$zip_name_b\" \"$zip_name_a\""); + + $this->core->delete($zip_name_a); + + if(file_exists($zip_name_b)){ + $this->core->pause(" Operation done, press any key to back to menu"); + } else { + $this->core->pause(" Failed compress files."); + } +?> diff --git a/Changelog.txt b/Changelog.txt index 634d88f..1736671 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,6 @@ +v2.3.0: +- Updated tool "Media Tools > Video: Fetch media info" changed default file name from "AveMediaInfo" to "MediaInfo" + v2.2.5: - Fixes @@ -6,7 +9,7 @@ v2.2.2: - Updated tool: Media Tools > Video: Fetch media info: Added output folder setup v2.2.0: -- Update AVE-UTILITIES v1.1.0: +- Update NGC-UTILITIES v1.1.0: 1) Update PHP to v8.3.7 2) Update 7Z to v23.01 3) Update ffmpeg to version 2024-05-16 12:54 @@ -21,7 +24,7 @@ v2.1.0: - Added tool: Directory Names Editor > Remove keywords from directory name - Added tool: Directory Names Editor > Insert string into directory name - Added tool: Directory Names Editor > Replace keywords in directory name -- Rebuild AveCore and separated libraries that can be used without AVE-PHP +- Rebuild NGC\Core and separated libraries that can be used without NGC-TOOLKIT v2.0.1: - Improved tool: File Functions > Anti Duplicates (added mode a3 and b3 - detect duplicates and write logs only) @@ -34,8 +37,8 @@ v2.0.0: - Fixed FTP Tools > Import FileZilla XML (Now you can import xml with single server) v1.9.6: -- Tool: Generate video: CheckSum/Resolution/Thumbnail now can generate checksum for audio defined by AVE_EXTENSIONS_AUDIO -- Added compression .ave-guard in tool Check File Integrity +- Tool: Generate video: CheckSum/Resolution/Thumbnail now can generate checksum for audio defined by EXTENSIONS_AUDIO +- Added compression .ngc-guard in tool Check File Integrity - Replace FTP command mlsd to rawlist due to lack support of some FTP servers v1.9.5: @@ -52,15 +55,15 @@ v1.9.3: v1.9.2: - Compatibility updates for Linux operating system -- Added config AVE_OPEN_FILE_BINARY -- Move config to %LOCALAPPDATA%\AVE-PHP +- Added config OPEN_FILE_BINARY +- Move config to %LOCALAPPDATA%\NGC-TOOLKIT v1.9.1: - Improved media quality detection -- Added config AVE_COMPRESS_LEVEL_WEBP, AVE_COMPRESS_LEVEL_PNG, AVE_COMPRESS_LEVEL_JPEG, AVE_COMPRESS_LEVEL_GIF +- Added config COMPRESS_LEVEL_WEBP, COMPRESS_LEVEL_PNG, COMPRESS_LEVEL_JPEG, COMPRESS_LEVEL_GIF v1.9.0: -- Added capturing extra arguments for .ave-php scripts (this feature need reinstall .ave-php script support) +- Added capturing extra arguments for .ngcs scripts (this feature need reinstall .ngcs script support) - Added tool: FTP Tools > Configure connection - Added tool: FTP Tools > Remove connection - Added tool: FTP Tools > Open config folder @@ -76,16 +79,16 @@ v1.9.0: - Added tool: Media Sorter > Sort Folders: Items quantity (First parent) - Improved tool: Media Sorter > Sort Images: Colors count (Added more groups) - Improved tool: Media Tools > Video: Fetch media info (Save .csv results and .ini cache in input directory) -- Improved tool: File Functions > Anti Duplicates (Implement AVE_IGNORE_VALIDATE_EXTENSIONS and AVE_IGNORE_VALIDATE_FILES) -- Improved tool: File Names Editor > CheckSum (Implement AVE_IGNORE_VALIDATE_EXTENSIONS and AVE_IGNORE_VALIDATE_FILES) +- Improved tool: File Functions > Anti Duplicates (Implement IGNORE_VALIDATE_EXTENSIONS and IGNORE_VALIDATE_FILES) +- Improved tool: File Names Editor > CheckSum (Implement IGNORE_VALIDATE_EXTENSIONS and IGNORE_VALIDATE_FILES) - Improved tool: MySQL Tools > Fetch data base info (Analyze table before fetch informations) - Improved tool: MySQL Tools > Compare data base info (Analyze table before fetch informations) -- Merged config AVE_QUALITY_SUFFIX_HORIZONTAL, AVE_QUALITY_SUFFIX_SQUARE, AVE_QUALITY_SUFFIX_VERTICAL into AVE_QUALITY_SUFFIX -- Removed config param AVE_FILE_COUNT_FORMAT, AVE_BACKUP_MAX_ALLOWED_PACKET +- Merged config QUALITY_SUFFIX_HORIZONTAL, QUALITY_SUFFIX_SQUARE, QUALITY_SUFFIX_VERTICAL into QUALITY_SUFFIX +- Removed config param FILE_COUNT_FORMAT, BACKUP_MAX_ALLOWED_PACKET - Fixes and optimizations v1.8.0: -- Added tool: Help > Install .ave-php script support (administrator required). After install this feature you can execute PHP scripts by change extension into .ave-php +- Added tool: Help > Install .ngcs script support (administrator required). After install this feature you can execute PHP scripts by change extension into .ngcs - Added tool: Media Sorter > Sort Media: Duration - Added tool: File Names Editor > Replace keywords in file name - Added tool: MySQL Tools > Fetch data base info @@ -128,8 +131,7 @@ v1.7.0: - Updated tool: File Names Editor > Remove keywords from file name: Trim name after remove all keywords v1.6.0: -- Now AVE-PHP is separated into AVE-PHP and AVE-UTILITIES Setup (AVE-UTILITIES contains binaries that dont need update every time) -- Merged CommandLine service into AveCore V3 +- Now NGC-TOOLKIT is separated into NGC-TOOLKIT and NGC-UTILITIES Setup (NGC-UTILITIES contains binaries that dont need update every time) - Improve performance for MySQL Tools > Make backup and MySQL Tools > Clone DB1 to DB2 - MySQL Tools: When an error is occurred during the backup, the table will be skipped with an error entry - MySQL Tools: Changed params order for connection setup @@ -139,8 +141,8 @@ v1.6.0: - Added tool: MySQL Tools > Backup selected tables - Added tool: Help - Added tool: File Functions > Random file generator -- Removed config param AVE_MAX_MEMORY_LIMIT now AVE-PHP will be work without memory limit -- Added missing config in documentation AVE_COLOR +- Removed config param MAX_MEMORY_LIMIT now NGC-TOOLKIT will be work without memory limit +- Added missing config in documentation COLOR - Added ability to set tool and sub tool at once by typing . example if you type 0 0 then press any key then you will be redirected to File Names Editor > Generate names: CheckSum - Added flags into tool: File Names Editor > Pretty file name (New flags: Replace language characters, Chinese to PinYin, Hiragama to Romaji, Katakana to Romaji) @@ -157,8 +159,7 @@ v1.5.1: v1.5.0: - Improve navigation (don't exit app after operation) -- Move config to %LOCALAPPDATA%\AVE -- Overwrite user config for keys AVE_LOG_FOLDER, AVE_DATA_FOLDER, AVE_EXTENSIONS_AUDIO +- Overwrite user config for keys LOG_FOLDER, DATA_FOLDER, EXTENSIONS_AUDIO - Added option for open config folder v1.4.5: @@ -177,7 +178,6 @@ v1.4.2: v1.4.1: - Added tool: MySQL Tools > Clone DB1 to DB2 (overwrite) - Fixes and improvements for MySQL Tools -- Fixes set path on AVE-PHP.cmd v1.4.0: - Fixes and improvements for Check File Integrity @@ -202,7 +202,7 @@ File Names Editor > Remove YouTube quality tag File Names Editor > Series episode editor - Directory Functions > Clone folder structure - Check for updates -- Added new params to config AVE_LOG_EVENT, AVE_LOG_ERROR, AVE_IGNORE_VALIDATE_EXTENSIONS, AVE_EXTENSIONS_VIDEO_FOLLOW, AVE_EXTENSIONS_AUDIO +- Added new params to config LOG_EVENT, LOG_ERROR, IGNORE_VALIDATE_EXTENSIONS, EXTENSIONS_VIDEO_FOLLOW, EXTENSIONS_AUDIO - Fixes v1.2.0: diff --git a/NGC-TOOLKIT.ico b/NGC-TOOLKIT.ico new file mode 100644 index 0000000000000000000000000000000000000000..1e9a64d8ca5d9429e706c8b72f56f8296586d19e GIT binary patch literal 40130 zcmeF2Wm6now6(d_m^IKSNB@$zHR^j_`d(Q0Rg0dvJ3#=!}~Zw`Li?%B0l2#5Jgr-LiNA9|D6!H z_lur$kp2E@>V`H?98*8oYHuDVHHFl+1$>yV6O(v!UxP+z( zVo-EBnaw9kGO$b!vtb4Rh#83$ZpwnErsp`=uG`?GX=t79uDRUdeRn%+;pab=;c_O& z1~f5+*_+Xos}SWwM5UD2Z8NZEPY65^l?+VE6MRle3Lqy1hoJ{zNx9(94geBianT*OoOG4f zo~P}$HseU}A6vNj1R|?1BDh;<#h!^N)B%-&6S1Gmv|W%t+rFes&o=yZD9^jQLpK^9 zkC}2sF)u}4aM}EZDli#z4yMUvp`e;M;M>Os20%AKVgN!AItT=SC3S-dBL#s#4M*gf zW7}Q#RpFA?wu6YK*=;UQKV6vH&Yua^u*v-5FzBEZMzgZiWNMmWjm&SZzsZ(fNYt=u z&vuf7cI4xv$T0>_*9{1Hco0$10wJC~KrlQ+lsv6#_^5%@#)dTbi>{UkD*#CTFB=31 zUzG%$3k2A)MyHcj{X-7kPGs}dER7a<}5Ic;YK?q;*DwI z`@*1$;)&g#7o(mTx@WkGI_gXc29SwBLOyaDrykgCIwK{4IX$-D4iDPE~T z!7?Z!MXTjnHOhal7X2N$i@LLknUVD_n1x@v&I#sG$^1Is-wQv(?N-~<=ot8XeJL1~ zC$lav#oa`fM_u*Xh4Pqde7_~ClHHPOF+gHWt85Z+68C*8abf8dIbidqf#FbWdJT@*f z+1uNPOOW#zzex3AV$^xKlV{105=Zq;xv~s&xx&fO;^mSC2cmyPc=b)Ll>H*(1(s*cVI0&&tXhu)e;&VdMWt%)58unMzDeo?SEMix40Ss1UB6^O-aw{kHnDG0S*Ha|nAT5Sa=Vrp^+Z!>eS?It3TwQ(R*5W|a{>tZ;Ynp)}C$|H$PsCBs z2lY@;G-mO&fXp9pU=Lsd)=i)LRE2pbb=8$`^*4H;C=`?vNnY&zlTj8T0tNyDNR=66 zp{gKdkm4^=>>Okx1t?p84(X&kt%^MzPV_lJ`V-p2!(m5syn^8&?e%LD@m6$C;@Rfb{#PZ5e2BGk<)sJrx07o0Y|+-Zs9PKeidxIAv= z-*~2@4DRmh2YajSj#ulC+)if2G1vfr!fY@6N8-Y!UHXO2@!{5mn3HTPMXB_u`DRG| zH?;l?m~Nos78;;00i(|Z-|Okl*qsU9@B=%_M}|X#;M7#@Xymw@`h3`v@{?}Bl>l$A zIyXQJip3-tBr#!?R?yAzF=fld$^xD$vUe#`v+Ws4xalxpXY{ABqZOoLyQAX7`ENve zmCZb6n{WRHr-vKEV@txIxhZ_%#~o~RI7qHhVjwH1#13!cADILI|7QsVqU`7)wKAG29O6d;x$=pkrIz_G{N6_${g=eNwL`^`b}IT4edh+{t_ zShY{gZ?G94KrVa*34UC;GJ6Z(lhjDZyx=x`f%`ZOS4D_r0CZJgV1K}ZnWe+p4#mZR+|a&#(rMPkx-H2-XTBB_Iy zUoD)fo~o|VHBa@DMOYW^jt4>wB{hl`U2uDkA~|2cAW>VLCEAENZFI3Z=;Y*NaitXv zf7a3oj#e2)w`0&yM4IlvB`$T`Bshrxpp*fn-E;SSw>bji|e zJ`^#2(vLgqkWCz+jE;@&*gY{xft%ocvSV=ILn&nL{JS`@yLyh)z$yt`{IgyBRT(R6 z1&babb+IJe5t~)BJJy+u|o zR2E|~q%#@J@@vu)S>UvS3(}~oayCbsDdqs? z9yJ5m^NCMCQNW;jSt81HtgPBlOrA z8Ay)Z@rRgI6t$j@A@*7=u1?wL>m>S@-1G*|JA&8CTWDW^KKnr=eG%hlF-+FF7lsM& zdmBlaOw$DlF!(d$=XQ~+ZLlluxvVhwNvKRBPz(`MaP${=EE*Or-k5+bm`yRhoR-$~ zDig^`Gk@8a%W zbqy~>S$PFxH4WBp)9Oayh3`enxR_`E5V_4*A}9EI3F)#OsUct&;;m-5wjj`Dy1%|) zsj_zkbnSi^$x5zkD?tXRCTZOiKG)Fc1*^m2mC*X^G?CUEzO4&yl2N2V@|NQn?&Wf% zE^&QOY5&!GN0iiDoQbxeJllRk>fp!L*vUVg-k7AOERRjQ;y*ri$)E$9Y!zU&a_BVLX!IR~5esvE}rY z>F+jxt@lN$++&1a@Ovj3%6hQ>;2yhwB$7ClBvrJ6C3p6kajBv#NJLqXrG9HE4( zT=)ipHgc*i*G+N$p^ffv7(qaKIkf;`j&e49aK`mtS2w$EI{wV&u(ajK%lhhShJwr^ zCs9x^I$mgiD_=|t92N=RNm?k5d|az2&-G-coMfqd0jvM_fG-@%ocvFBc`1#*kLu{! zgp%&!&fb3YZ2-i0X_8O{r1Cd{*f@_$xpW;fmDQJV@l_~}{tgiotKhuND(tOXcAT8r zatEdf10YOK!7g1_MaRsz=K@_Wzy*!USf8_!GoGJV0EtaFghi+$OKs<%@riFdl4IN~i)=&?wUr#q(2`!x@X!VJr-c zizTk}hYxP96gcvM&QM282m>WxHb+e9(t-9FEXM05;GeuLLQX8*q1Bgn>W()C-5cIU z!2JRAbT)GQNe{f!4md;qWCJZufwH9`fc2yi!;L`)T9_y|D6Wp4`@b6sCMqW84zm~T zAd@xrV-pjvIwv!$bHOMCe}3`TqZ+`aIvg6HWYL1i(s^P!c&^ZhGd+Y;@ zH{Te;ZIo)1H(zX#2t8k$5lZv`n@j;mpjf2E3iY`xcpl_+N9)1u`>Eu+a!S1T$>Woo3H1j=qh;BoD z%@T&dPOT=2YFgrkhJ`te51tt?6Ta+D2Q1yV4~r{Va%0Bh6_Jt#(pA>uk3~Z<4$gC5 z?L?H>uS%=pmmy>_g;?SEDxRnzM-YhS(8r$giDM)ZFZoCj{ z)la{iI5_Ka9URZ^UFoLhu?=50wZ8pS`}x__#N<-b<|pT1g{Y+mH?g-XZpWR+T?Zvj zaVs;wrgma9D+@P>UOHEeZafo~qt(Li)?Cl`3%$sEijYbmvj`0^UyO~e9=2Afe0eV5 z#V{X}Gw^Kott94z9kkV$%IEKx8Wu``rotl1&kQ}r8iW~X2s7!I9CqLGVxqa};s7a9 zPq`HVyUd%ud(&tjrZA70RImi;IiUuBv$6`$ttN{tDyA2PDdwXm!ztOd3YTOLpHE$^ z_gG;~ecY|pWahgfu66M@u%yKceYK^3FboxjkaU$K(NCjmhnzhh-K3-4;(pCOrsqJ! z-M2XkE|&cL;h%CYpL$5kKy1kOEF(1X9O$cGhnkWN3beRex)|aE+u<_o0YP9|Gw5j7 zi&08|buaMQ_WoneAdm#ilLawBADn@4o!5}RH^YOFUUM`wU(?5AU5A&X<((dnHW+Fy z{rt>^t+7rP^iDp0-DoZjsjVH(bHtrGk|q zkfyN!qRcKAZ(>Oo?;|UYfZ#4k4&-s1o+dp-o)g^K=}0=0AI z?3a;j!bR?z?P-Ydj)hJRk`kds!1Q}I)zAn! zM*0b}ouD19WEM}at~|s$g+dhCjp~7P{|Y0**z*IIG07;$1XW+$K#ilL~yj1?9{0~J(+6=68m3hPv5tQD!{_fi1HV1o33$zY{oEU#H9gyO5nt(h$Nom4q}SF2 z{{UmsPHg;>LAwL;Wl6Gc%IGH1_eV9VydDJ`8hhRBN<9P;jBheq|CC8#6y8@FTU-!?Okm6dysTCx~dK2_;RbP8) z!{1UJLS=S7sT->9%aH{!b9fY0j@kG?I(iVt2n=QKD-}W|%y)BzVI$~Xpso#hn4;dc z+!mu)(?JQQxP+Zv6mdT)%9-zkNfASO-sbw>DEycep&F%{+l!oort%B$(O7Z(uk=Ar zs6MVHza^GeR;E^`0$1%mFy6!%g{}IbcVNyhDLJMh>Y#8u%|epq)B%Am)@U4GVu= zbYD(p^gNEBj$Qm**m>hx$A45=qU8F#nX;|<_c}pIoKoJHhfi)BJ4+h$26y-Tv2^(} z(rFaA5l?-M1{P()Lb(BLaf@*HcLT3nLPnu!awNapM+r$;fg~Lw4$k7!ZR+QH?T)Zi z_4+e3W9EQLafG@_boC(S^SApgNqq_<1u#{A?jULltK-vC0fsUYQd7ej?%(ew%pdOI zcyP{5D5G~9O($OkO&)$Ey?t@A6uwh^P5$dq`ErW!bgS8aMg*hP_?0m&UDt8_vQz%1 zj^XLR=&jo$?wEvnG?_u#v;c$O<2Dd6QlaLQMahN53inw*)2(Y~(}f7M0wjblxdJ1r zsrKpsNx`HF;95M5Z%0D)C~aGZV36`b3Fib;wetQ4JW2_#d|1t6C@X`_*TM61$H?jZ zke^u(TZ6H>wH9^)+|cR^C(f=CtFvPX@8f;SexKLKhi0~#2VTN<3k(K%QsRY89@PsL ze=4fW9#nHl=Yd;VU&ggN!~Q^D1dU;VdV5k$xH;v6kUE_-1qqASVlbhUuN2jXG~`3} z64|Q&mZjS?6QyVb7Dbuc0Z2+gN(R+9)41|(vQ(fOocfYaeS~n2#~g?=x}VzxJ3*y# zUIwO^4G+SiD1~Nr%Z74`aGH+EB9_yPuNp7)8{gFI=@eJV#=%Z|1(W}=qgc+67N3)a zoBNJnc=Rk2ghxOyh`a9VVJTkr5N1lTy%!se8jo_sox`dYSJ==2Ee_%>)2bmXs2D{b z!$|CkPXz5jP38AuM)Tpbl|j7#auvja_^wfu>`M$0WgNI)LhX7y003uo4n7E5Z^BW) zu?wSK!_s6jNXJNGvjx04qcDXh?k!Jn8;4v_MBL6%lAkSnGWTTPJufGNYID^awIfS?n}Bb4hwhwD4W*HgwuJ& z;WKwKGel#eQ?Aam6_3NCck>3`Nz7P|0J;G^|0w5A;i(iW=x(Tx5}8zC+UlM{c2I5<_cGfa^RhdA-foXmX8(UcV-Os>SD3ppJ=P+0Uk%@8Xd>QxtURqA z^xWa7v+EFs&5+{+&Jn55b}=~fc#f_UjEZ(loh_)Kaz{7YYxTQ;J#v}jbF43*5hTu5 zR!-de%#JAxKS&>l5=I7bNDz2BM+IU;_8y+M8BEVwQU(nI^2cETwLY-O#F~K0#qvspCiU%Vo<;h_>GfA}T~F)id_@{wifo z2k*bIvuF9>=zZ{?2{N&XZ*JV(KqUwSt(%3;zb5eiR;KHd(=!Fc%FVna~b@-xEur>k-E0#o&~3% zS`~zuWx^EzW6#g88}=~d2S-s*E=nsNE;Jq5w{ej)(;2l}z%VZ`O=efp32xIB1Qd0r zKH_oT8yYM!oOZoZ$Wg|pjd2iyVIZ2c08J6~bTP*H@(CZ(ut!ESiZ54JNy*4|j?O8n zdgtW3HG30U~V zXgN5y*<-rg0F!W-7J>@Y5tj^`8j$e93dNyMq)STkLRX&imR-#{7eiarxbTrvcS*}k zVH&qaD0+rwB!2Y62X^t%NHXyw2AiV?HcZoOtUdTwrtAX~E8dPg}2Ww0PkL6s+c;#%Yd3 zu@}V*aG_LF{49~x#k^)Nl;MXKFK zU7GNM#kt7NnNW!8XF;^{;1QmG8X>B-6Pmr2;9zB~4`CHRK2s}u``)SZ@UNQpAr8Dd z$K4SJ)kM;jN8KIm-atTuz46lJPSMenodK6$GRx6l{0O_6(TuT)#OcKk0mKmj2b>>& zC@c>uP#Cq0B+rE->W&;4(fKYH&I;L6mpwNAJ`+oY_xrV36@xCaPyC&(TW-wA?klLW zt%g8Js0u5ea4JJ5xEP3(#2}e3vW1P80SeNe+QQ~ogoWc*GTx&pBNXM8R?dQtbP=JI zR~}(Y+zoJ!?H;kF*~8Q02eD&Hw+O*5Y&!-=75C6s%}KQgp>9DSKXXhl66v8D7*z~i zHNX|1p76zJ(g?KFFEMujN)I*-uon3w6|ca;qL|80_X#gtSmk38$jFGr8hnyz&%;wM ztkZBJzrrR@RoQt;&1_rD_V`sNVCYPuSZ~Hw65b=_*Gj= z98G(;w|CGAj-|(fM)OEBh-282hR?xR2%;BLvm7FfVH*{Iqdyt-0U6;$u-@CAt#hl9 zHBZKs_>uDA$VeE7?2Az$Q^cQi^ zK8N(uy71rt3qNiC3wW*z8=eO3?(R;v7UJ?nnYvow=}XUxN7)RGdu_&6=Kt z%XbA!@GjG+4#NSB_8F8NgCEGmnj235Nr=kTuy*hx2MQpyITu(Oh=~QEV!2|8PH z^(Y%h!%+%>$9K7b&882b@Vi@!71x2951#;_R+HRf-dF{FImA{;?k+jIw1 zvs&ohS|9zfBfpV)+Ez2@Ou-|82VCFWZ8z^_iQlo(stmQDEl8&ie4L(iwwHFH!xy=- zvYCK-bA-c9b&W~|!ZPJiL6|_+20Q@Yl?Hsqivxc*;WvKK0D;Uvta=viT_gW9a1+u$ z`r4kkdfyAa?dnkV-nChFc3t|f)}@2=y3LM_&Rh1d7`nVpjn3VTAd}M36JMOdlk+ku9 zBz=g8v{-t2>bq#eck|fhZywDuPg=1dfUD#PnN;Ps(Fh$cbrkouT5^4?2Y;@eNt_PGgot z5=Y=X6|8=YF8Y}gL$aY~F?8Kq(^Ii;FM^U}rHLDs$n)bKAh<0K&V3O88IPVcDW-AN zR_r;}QPrYj-mn8^YHl&#zCXXv?0n1y~qy)Q+2!p^Xk5ha*kN zk4nAK)VeD=@zzvYwHB}$ywDZw9x_pd^l%%COy;3$NDrFK7q#tIh=r&>2OTba(`Jz; z6IGv|XGJVb&^CGnz1)|Bi0R^2f1-?4j}3L}#`Y~ndRAfKIMrfg=xA88RSQGcNQ#*o z$m%o00Hbg-5nqhhf`ZjpaIQ4^{NHeVrxYFR0%B1H;z136FWT1=T|@TRLoL&cs?)h& zk6~WiCu_B5c^XmNS@ECeYOU16#G|y@i(xaz*YNzZdeic49y}CG02`_dHe*6aVQwN9VgCiN@+Ohaqg!spPG8jH*R!6*$wC?S^IoDpf zcs}g>-1@d|?0dnV4~XSI<>BD4INw2g;Zey}czf!TIq>a$sSRg=k@w;w^Ys9o`#eT> zg&1TiVf4+uCsU6#>t}a348vAw6pzuTX&qUmb4zQb>o9Es)64Bo0G^{+S z!}kKdp{}v9YfQb$>4YwE_oK3zDgq(Me<~qu`vK)sum~C213x8R3oUxY=#r2YX+JL= zQ}_ND-gRP>ApfJ0RGz_b>RW5~)|#QWLnLu#U&ogMSkl z3pdjo^n-krEWE9RE_%xfcfUu>=l*J@9eTZ_)CDJ?A&iJP`4e?M#)$}4!ARgl zOXRRb^Fco$rDSG{Yf4kgU4a@m9;UG5e=rT!zu;64 zXylSqJ?K)c$;FOJwEo7$Eq~WLTN3#ylEWctR>JsftNsA+3zvV{(q-73e>x|7*8Ycn z)|~B$1tHa#MfwMzz^37W9n+m%6c&g|{`07NhjP|-*q!T;bk=^?vB?u^oReP+O93x+ zUflS0onlsZDwQeuhogauG`YI!;GYJK5>|K{>ee5Fl^#wUQ67bx0Cd%1XQs+1081X5 zs2l_*4-0T7FgC%T!Vvpj#DFVcw^;Yo?gad1J3kyYM5s20Ya00N_;XkJp>Wi5baRm7 zW#V;rw%^6?y5_yMQpsn+1FclhqT-^A4^-^&yd}HR)a6z?zxjj6#nx)G3G`2t7cd;l z@ZW$tGn&6Y2q56l()|=@iY@Ce`dIRe7k?bc))fwDP?2~WGdLz#r;X)xzwtLmdgyF< zIPfpQMl=_A8T$i!cT=DVNMy_K{3|s#xIBE<`OuyaPV{imfjg@I1V1>fvk<)7!dHxf zb`y(5y!dG2q*Wh0XY8SWGlK-Ok_BO8N;4UXX-X56vGvVqU4*U>x4i_#A-_rQ+?&Ss zF1sCF%&95;^1)hQ!g5&Ov>AgvBufxHK^VfL8Z^Ktd0qhez zSbGewonE#rPj9oS4+~=G7JbOBgyK~uZu|xA&g!W51zD3;q!h9MXowsE$dM2@dBZ<{ zNBKQxg$I5F2elN$lgyz>3uD6C{2@Q>yf0T0LPuld@6H@b_2hKSdPKs+=kinkZm4jN zxaEy(?nBJCS$<&WO}Xv)iNhN;@!OKi*(aQ<+kl_tV?$kFKHcSb*#dRh@?}FuPWBli z_iMpjjof0djd^NO{1R=n#Cq*Sdemi|w5_D@pXsGO+qnDD=(otlKQ7 zLIn|1QZcrD#OPNvKvYIio&KEWEG;|v(2@*J+gr#q2V7v>;|6V^A_@}UmTqjUt6X

9NmcVK5eGPqe(Dj_w?L|3AvG<=vbR0A0-;qmGvaVQghL&qe9$Ab}YKq zFN(qqxJ1y=Vgn%VtKii01Y^Po`F~$_FmcC>4~`Hci+dQkrZ!+&YkL}|Zpc%nc}@GZ zU*EsK56N2hCOEU!dvc^&%9!UoVb}^-{uY|Y8JBe<+w8+<%sE^| zas^UMQOwUREq4Td4_dwZ#*%5$ktj`<)HQcJH_6m-AE@6NY7n};OoJoeIl|(lzj(xkfL^!Yv%rZ#(N44CR#HTm~oio2$kfn&^>gF@4sE$Ic#~ zFUaL-C}WeziHy6amz*C_26ok(U#3)Os>K7lNa6CNFvYiFtn9xYSeMvhXFtz)lN7iA zNlU*0s@%wBiVzsd8D1v*=51@yus`s*;%s z{75-)INYaYh{cHMR8zpN0!5QzoAdhPwLaSVYk%kc0BoLz;TcAIQ72;PEt;voO4MmV z(j?WdoAFhuql6o$zd6wgC8$|Q==F(DhtZnNT5*#rlKZ*~_;9nvtZ#w5twZ-=UA* zYXw6ktyu9AbK53Z#du~GCDEb8q+duvs(@SbzX1z%txz*<9qf5fcDE7r$OR>6urN2B z20JReaQnSLM_DeOT1L-xpMbp@rx56dPw{G z6@wygR`T*Ld#MCpvb+lumb00Yi@*ZDNH~&3153`zp)V8I?~`eI7J4IDe}p< zdCD{lZYBl0HhFSp^jZS3BY|^sKxOrSE`P*0Rn-hq93^85cf^Ypt&;lY8`s&>=DkUw z%Tv9Lb5vxM6Mx0W9sej-`l?os4H1u{kwL8Ke+Qu$<2*Q#-MK0ZI`M%8wvMAUGU3^^ zWKY`VsOF!vXmwgkFwVu>YW#u;aYx{PWAjqhWSdvx9jNCj2#UoZKrsnZ*5VY@5Z#Iu zTnkd#FJcEP(=RJu6bk_pyjKiuZ*7xxfBFeJ7aDyZGb#9^J`u;{wCCg0(A1A4?QydE z#*}}f3D)u4S^|HT>?%jsGDlq?-%JznMPuO-j!euF^<_g?2;k<|d|qKTyh^I{x!6Uc z-}1Nj$)}*8@N_x{t|#%Hc5q5p9&6Y9-r=Eu`#18f?*|4%7jT{(B<&N6hWM81amn`_ zh#3rd=t9tF>ou$&a3%j)mo~Hh=NGs|R>ZC7)2CvdCQ?8ldSF*D(3rjM&aA4^KPSJu z_-1V9;Kt)LrH#Un0fHShbDEW%Ep6yeBGVgPWwEWq#li7`X1Y zz&9Y8sG*@SehadI^A$bC5tn`2C`Zhd-im!nT1x-^5JTFEX}AQ6=NEgRy0B@@$lnrP z^^sTHk>g*=h$2)l2&jw6dO6?=Oa;TRwj?2_mrruEle7lTMd(d`tf>*&Uk*ZGgHo; z(7zt!1volMP^rS^7qbX^V3&*&N9FI7luU{CC8!n$;)2vSXRlkeJ;R&R$|M2B) z?rH=2J`+}-i*5pWOzORNJ+sdipT^og zQqy1~iRxJAs`mxVL=AmG6>4vD>gAH6z+J{!sM`C;Lz`!Ajh_^W6l1eVXFqRg7Df*k zdJ80kfSd7aHu5oP{zW-9&#ta7`yJ?V8C>iGo^HDn;@a_A?~cEXKkji$R%=PDvEeSP zKRz@w4jOnS=wEOpM?FZohnQNFgopltAX9)m+tSF#a}u-Jp68{)vma;|4&#zMtlqxF!8RPHivjI;j49yYA1{6} z3$#=x){`thiG3~B{ioH@M&uUZSzjPj;=+nc7%0!DK_oE(%+I6lNr8pqZ>;e>J9Yf!U`=VwYpuu=%-nfBbL3pvQn4LLUm;R6T5}R~!H*fy zN5yV&jVBu*))DQ=25Kb#z;|rp3}dq-^Bq%8B8k-zb1r``OK&tsr@t}ecjoYW=9(i3 zq=3V70Pi)Yc|Jzg3&hCoiU9E6ghWj(6 zM<2!T><`)YSv$bx1132JRs*cEN;$bo%s-O#rTIIdwO!R5^&67~ke=>9s-Pxi-rT*i zjSFHp=_XfzEvxG-M_y$o^V-a++r@+K`di;4 z)p4@7Z%iw%w*IQ7I(MYYUbw^bjy2tTYU6D*D(97}%E6Gt!1DsO=>mbCNZTj9LQ)NX zmaCr2a%gUjVVR%J(N4X$m6HG}LU!LT9ZtuGd2OEq2+qKJ4nup4gaNR>)0~?-0ejVE zZn(k5+a2E7ffciFKF>?kS!4Y3dq{0$h(=CI+)OR!AUi%Mtk-{mN>g_R&xQUi4lCV9 z1#q5pL~+|iIQA^AFW>JQSATQsfpZg<5nIxvx}TjtcTkKQw%7o4h>W;A-zBcGNu9;! zanc`uY7=Q~OHYvbV}*M?$G zDaRLQ7jSJIYQrrnCS(RNS^ucYmC@q$5d z$@SIxrjL`ATUTP`2cDi%g(^02hy~`p%E2mm*}&|g4^4vVZ zRPJa`-oJB{A{9hY?dlLermc9RUEJ4SJ2{7hc%TT2Kz)jK87_kTeVaZ;?ia#}omk5# zb`me=%_qspQmSw5?{ji6lh3nVZfT@H`LMj}rd#2+gG-^QNo6WkKo&qLpVp0sl02rW zGs~mSE5>m!WdaA}L?}XFNf@CX{39Tkj1SKnEkb*+BAzPV`+{qxEkw&#>MYR8m@^^MNG|fj9b-6O3b0d4{Yw9DMm4>wo{U8A&`IMad8qJ{Q>3Jz;$pqG zVOewi6%lo%pk;dU+~epi*!^T3MPz2f_vzNSe_DEb5bb4U&U&!@N@|vc%bTes!qUjS zC3pZ;n<>?*5prBVP<}K<=v|{zN^s3Bg6*)=FAV3 zvn!-6E%_%5ABPo8OO9HKlABpRaLaP!=XxgvXmJ1ysKWbbigp83;Y8n+y6C=oKqcrr zl0#phGjW0J6%Ad41(^Qx{P@;#I^_Vn1;hJ#bMf3Vd&%j|1#33p^B^32FxxwfmB^+H zWXk<&Y{Z3u3F`c^ zQJ`jB#_Nvqhfydh!*9;p&v<1$wBZX(dFp4#Xyt3Eh0DD!jq(x9Igx*G(R^M7)K+bH z(=Jd>rGbDGtf~lxx1?q@k1@TeUTb>F3UhSyBt~WSclp;f(YdVM@e_^M8LgA^KWf+* z53b_rk(r7lcQ z$69@gy>obNS=ZaR8Bf7@s@0nNR9zQZ(2uNGZk>2V{8t4=fts$3!glA|2U0q4+ow%! za4ZbOKn+oGy#P6&ge6U0@cMKkrsGve;uq~_#TIGwvv0F=9{YS)5__Nd{?uivj*|s< zT@k)}f);AGmK%uT`cVU?z74u4H^^6&u@O#+RU}Gsalrr%xJ@}QtX<|2URdW6_7J1%zKlH z8URYJ4S78U<>`i;fq)z3h0m<1<0d|Sn9@YE5%9#G*znR8n+SK7?0@ExxCI~3lEkBW zK%J7Xjyp-3c^Qot3ujM1w`KanCUU^fk)76VQQiTYn>dZOBFz!q6@VgMHb#Fv0PZ7 z0c^_1q*?wSziffx5YQO;dBFJ!Y}@ZsLk&c_$U#afKFC@de{F6|3j~6{?hi)?iGu z;E^$_L1FTBnDd>$rk*Jwr_vK?m_HR*rO zA0ucV<*;6R(q%o(Q}w%@Ac;_jiX)|c5BorA0bG5n2Jh3vnr-7fH-n8>aSA~HjOUU>BT`@If&~L$} zPp<5X;a(5l`zqvk`)qeW{j0U`D2*Vk%1Q-ELBBMzgU4qoQhXi46vd_^2BiiHQuRvd zF_xVZYL8L;0LbAGxJQ^w#v+(e+XKD`@e6xDc$~h@w9{*r_pA%HFM9r^`h>|U@I2Lf zzbD+uYJC{*C1=Vqj>l0l+>aZI3MKszL!tIF*jR41H_jfO_YS>^foU}Cr+_TCJ<@~^ zM$nx^2D9&hys2fT8yxYse=1FiB{vfDvuZc5xF5%hr?bR| zQ(#7H{y<{xmEO4FzF9lbZ$!P>Z9pII{m~y~Jo(UpM|++{vAO)Cfq0mj)B%q(9^d-a zCe$a;H80huLwO)ziIu^y8SmX=3K|HFGQ$5hU4lI+T(lu5y6e`o9#7q}kO^$NVRY!f z$h1uGXggUu%O;rg=M*OUp_q!?g3Bpts=(VAOma{v=GM>|{1XJ#AwbE!EI|QUAhKiz zA~i1tx&(N_DATr7(RVfAqLB;l0UQe~cTx3j{5w4+d@rpCLvyzUH4Q>)zjSKq{%PJ# zm=x}O!ctQ+MM+iz{=#=HD5c{^PE<{?Kz1wk;^6v2h93bhX2u^|hW-f*{;5qY!NSuJ zwX|fd@Hx&@#Y2fQDZ+oNBFy3S(qH)8dSSARA9GokKVFXVoFu!o{hO@PB#|5AazurN zsk0%1+l3eUXCqv2TOd>o*d&kR>w{AaXRy;s2l=gJwDngG$MZK}8rC&4Pzu0;s*Kj^ zf%dDsULV`;ZiB@8;dMCm+FGOTxZw zl?Md?c|w~W()kGJt9D1FIl#~UmDEcFct43Z2cg-f6IEER?Oaxci0}~hkj=Ewl!mqP zke{<+47oH{Kuc8%&3$2GQ)jSMb< zLK~~M9-0Yb;Aw%E-v%$$XVk#)8mpw|J6p;W6afhMB zkT1=QAdfcN9tALF`)ya|H@o^d^yeZsCfM7{yR zlslmc%kD67W8jIT$!Lj)AOLgQ2wdp+5k8dWa4tns6E8;Defzt-H_&-??=mTf1kkGf z%TQ+U{{YQEGQWKe&RVe?e{ka;$Af{;15-ogOEcp&EbMASy-2_u22cTx!{F38G~F@b zUm&M4b1PV~N4zTd#tm@2AAv$k0riT5gS*Gk-Q9zcv0?1oy&n#Brt4Pms=dXHubvnj zL^hXsU3TE#Y6!5p_hxnV;+6k?c+dD9q!uOJJu!5q;t)j2$tz_yiAQ+07jDZdCy8)t zoHp}C96(&<7{Xv%6bvGF5lsh7CD0QKH#-gj^4Un8eq|n*$N}bw^Vu(L4kYA6D$qe-i-^L9pVi9vnG5 zL88(4M=x6W_8y6dfB1`gZ#Yeubo=&K002A6-`jtF@Q<$5q`>BCrM}E&A_fnY(X&uT ztzv>{3KTaSAZ{}h6Fp!MKgt_%G4twz4ZZ`nZtfSjNz=V#Jb7kS3GAwimShx?LZAf! zStGo(EV~$e_btX}r$D1+^rX7+)aJdgOh!c_7cHxSHwcA-NOh#}$G87kT%dSh^jPWA zO4h`p-gcNJ*BNn%DFjMf*>lfmdt42TWHtjYj{=yp`H4gk>?bfR8^?}LqPx2rGqcm! zzyBZrOxK+H4PSe3!>eyQcMVRS90L0v4uRi_2k@y+eFm4Wyfx9?+WqrGJI1flg#_mH zx1+5s3V?APJDI!i5S!?u+^i^Lt~cPK*l3+Mya2B2N4Sf|T&fvSW6)C+^PqqeuSA* zn0tEr`cNKj!B;->ot9*{^(U0b*D3)KiB^I{s{%n#5YRP93IR2FIgpw>;Yqz5kyrZl zHoqIcct%5%8P5^;2F>*-44^y%)CxS01G9Sd|R{DYAr*^3>Mpr<2& zY5{=5y&8|3f!X}fFseL+110Wh@8Vo!SFK8H5WNxt5S1Y`kHE5Q?0b0{t@bX)2_mvrij}FG{_5@<2K(o0FzN;_zW8GF_VnUoH-51@6bL?k{J_j5s;FcB{5FJi zox7Qy8ZbGf3?uSI#0&vWm7gM31+dHDUuy!W!56LL-eBesIN&awtP6lZU{wVK!!jmD z(+fIUJJ-hO!c94Gpk66gV3>2uG?Y@Dgm=h8UQSz>6912 zOPEdT9^i)z@j3;?CLo*u2s#j+Pr#UieJ@R+C7eRFQpe6+yI|SIbk(ZfaR1OB?VQ)O z8iRvFuq^vmI^N$@128+A#)IE^aam@%bpPR3Cf4<|_hZrG4g`amU*8u+m*7HnT|Cjf zO2;j0RN<3X@=QBt%W0PAX09pKA_QW@LEW%$a-fL)+b7^y4jjSWmadGhx4REdZhh%l zz6A`ttbMs;FUpe=8)Wx|vwoP`qhUhJ{PeAuBva^N?zU zam(%jay*xjG`V#U0X0k@2YBhHFhxO42eD)jqr>TWsrJ;`dC|3-j^$pir_*Qda4nXK z7#qFY!Z#Y1%a^C7fJ!ed=0EF@xB2+@AaE+ejg)1T-V>dUxYBXVW%Mx z=6y}XBPf;%ux+6y8Ee0yFS_E<|M#Q6K8=(F1n3a~ zqDmmjjJMq?1ewY#EUk6~5AKm`y6aRJ0e4Opwvk%u@a}6Heycw_j zvUss%Yxf^JFx4MT=;&;Z!z__Gsy?1ztoQJ87?R|L!A-DVj}O2TLscnaO8|%ryPqFJ zRO^6kTG+FDC#v=8v_Z=^eDUu0?bL)6jvhYphVK4vYyjpjn2-Lxd6=4-#NhL#<-;c? zA3MG`y=+PUBJ}kppeTy_N{`uupNKsBz)uin@z~j}F))XKFxOKM8qB%Pr63{@=y3u; zvr%^}47{4bz}_h^n}QN^%Xs0~Ed$P`^!`J8Fg7-Z_uqaS9)Ds7KDhov%c5Fh)2?U6 zmIdS>`g_|!Z7$fMY6Mys2t){^AWwRE;f5gaY6BqzR*k`^xW>vLZleu2v!C72bL^Zf|p-@dCoi& z0ECFB2FL2X`r1vBqg@aRDSeSn0qN-?WTwFjc=>DRK3;n?et4Su-*jRLlDpyD*Lmtm z%;r7+aD_u-@gNMdf?Cx|C1R;}U3cO8p8Ca8-_~xth|!Tr$U+RVB0vBy$!9EDf9K!*RW68=FdlG@Ekny z<7aN%zxUXtiDT8&^2JNh-4%x{$_-dAamf%Q@LDf(GrTnh+s%ejkCUHz@>9Gl#JT$! z=U5jg)R+KEG+{Xuhxg22_)rdnF=i6$$HTLSKXj;cPj2%g5BaWVPv>Ghz4?i?K{4`+ z7atp4tSeDOVnIMP5r{cZTO0^+3v!G>NpO&n5+RVofE*@J!u%wu7hRZY6Ms8(yob9f zT*@vm21wlXmqP@C?3Sbqz&0cd?8_k>5s>PN;@Gj#d9iThg19jMk+-j3UNJ2b4?q0y zoO!lw8`WwRvoq6pbmvd%moB??lSYE;f)Tkt(kEbSY!=~An4{)MLw?MAoH;@GI+npJ zzq*=-aFcFcE2=MC;()hZy9_m!!4QoEz?g}A-iWm(JFmO`;y-+5>57Fj4?gy@Ie%hu zatZ?j1L!{|%wF9)u)V)$*|01~SJ%o^NhHHKd2$@89D%Bdt^_yZ4Mc7)h@kLIPh|d8 zbiYp|=9daR-9|xlQKYKilBIAj&+APP-SA;5Hw`;bL4SW2wmm(F>~tk&``#_2Nr^^OYNnlJm18dq+b{&+b4h5rSRk#!8UfIrAHO1UIB4{^16X z571?9qLxeb=H@m86^Je(V4{P)&rKk#Cn1Qy?%lgkC>07-yL|JitJ_{mm&ftqi!Y*9 ztG-qq_ch0_Z2&I0`0ZG?ZY{*ZJo2yq_~k#?{qn0nsAZMtSxXk9ttASPNG{gg%|kNc z%Ow#;U>gipjicBYB@OO-xLI2_<|hJtpbwD4BTI+Wtoox_+oUIigw4yggOKS+C+pqWCYtp zsBs1%$RKDGM7Kc#4ulYe7@-hDfD)vTG|ookm=pr#)JvlGkOWS}rSgt9QRQqrMCGm? zuW=JNbpiE~jKQNh#M>2gbS7}(*l2$w5V`WmOEX(O`S-VHTUuJ+IL>K2gr;SoR;^-I zI9y*Azi^YPgw_S4a(`RDiW4U$(AE-#)We zUH^JRZmM$kp}ixab1$8TNL+_g7vKrO`k~4kyaM0!#CNUSpSkzRF}=DaH)65*0+{Sz z*K;G#r6e>}!Ja+4kT2wFRkQTrb=NO?>D0UU|`t4V-%%X6O_TJIi+tN8{7M5Cxl+uEiQV%A&; z0WFC{eq`q4?eG5l^2fV-doVUK7eptDA}+f4B0T@x^SJ9X+tx(1j_(sjR<(BO7#TT% z-p(cH>S}==;<36Q@y+hhY2nnb-lu6^ik_F|<}AF9L&|`$$q7hd8-3kf*zx>0CP&lz zE7iiyfAXCxhT7XZp=k<&p#VN{>zByI=Ux0~M%nt}#OREA{xwSwj>xcT1OgT2h`BKL z?=koPKHCxX=Fl^m9Nt^Ya%eXMAe;h3onrUyBM8bJ2#3SiwR;z`*^E)L${&7V-{zkM z`?7ds^CNF`3(pyE*Z{0sw+>fcaRpMsx#6>yuKw|n{e$boX5|m4Ih?0ms+a^%S8?YVIGOYUN4^8j-x0B8z&Z%zm#TQ?K zcP{)Jam~Doz8Y4P&qO*T5{fp;D&9Q+V{`hBnq6l9tJ}HdI1J@-4OORvPzTW6-2$U1 zftjvkxQlD&ZLa)H8EGt3Mgb!Wq=$gf6ArTJ5~|fI=AW%Y3_94eYd<21;1HFpYrnts ze-BJdOk#9&ZtUz0QIrr4#_{tnZ;LNl()&QXOSzN@HugU^hMtaYsH)^*8i>32neT0R ztig`maNn8Z-5=Luan+6e)9VbQ*%&mQyGC2&ipqv%;`l%wEy+YNozLF#t&LxP>fv4A zIOF@p;|ZwoEdKl*Pjt5Esrywqv^JCwF*7@Xg$w5+5(z?(cqvlS++?i)2(kbo3J{6l z>+FfHCGb9z*L=e~twnbpM#m;0hA8^_y721u4913L_hn1d*MIu1%g5b+VkSM~HDC^I zt7RE1n<3goAO#)leB}^=N(%9o7hqs6-jD%U zzy2mfqcOZ^?dLiodicK&9~i!_w{sp+$##S^%?HT%7Wgy)j)r^rx`VkJj_^27i7=E5 z6A}@y`^70(1skSqSarMni5&wk{Fk`!C=MMugcn}eI_GW9K6@2fT9P;~_zCf%m6yCL zl9b;W2nm8DiV!5hB^41M2m&n2>IKjyNfPJD;|3xOh7M8iiprEQN@P%eLdrn_+1de0=MVUd-1u%iZt`d}|8D>rr%uZV!yiUIm&K+{56$^}q9`Juhwz~f{sC@Sbw_;ZqGk6+I+ZJA)xnM} zW9V(~fUYS36FhNxKdbIE9fd!y&xUw-fTSL(XohE>P$ zfh=P2crlmH+;YQT_C9s#rI+Hl=boGMnL?o;5{U#>EMJDpx;_!;h%NkAS=8>V)XPHm z!VqMIBAY3LF&jh>{oISEN66rI2@(cL79mSwqhu&~r8U5lUoV#`XlV;$#nL4he6`3% z2B+^mIXUpr7c<|>J-F#XtX_Q%+S@yD)7c+YQ|*0!M=kajfp9=reMuj5$jBaIAXMbS zKN9DnX!Zm_08pMBwoUGRz~UZ(WAn-er4*ndATcER37AT;6rGYr=qWrRV{03{664HLEv?A$#3FHof>AN32hWPA;gzB&-mZs~^F^Hq#Yzs*gbZ2_p*Bk)G67V82R;LFkxh~U z$f^iR8O#EZn0c8l1b^V5~u08xWfBQH1;y--x zjGylVANTF)O+JgmM^&{*)Crxs0^<>GlZ^|9)v?$<3wU!B9Ap(P@BP_40es6 zR^nlrq7q1oTT6EphP?X&c=yx0kIlIT;x9_iuVMgdh6&TOF+Q0^I2B(69lf6=QRcSl@OtE$(}br z2;3$v9@iw|A!q@HYE85!N2kAZXn5B@e*gI|*aHKcX!PdwH{<4WKc%Wd^uNLI{#17h zmaOT3CaB090GQF_@yUQ7QwXx)<|*c`bsy;FB3r2&7EsE-L?F}+ND9N&XOBWBaU>E6 z?AyN&)6=s?xnA7xlg;1UD7B|Ccx(X9Z?fx~#;;@m-h0a}xaYq6aR2|?eTidZV|F6n zy>!6}v_xW1M8(ZDHC>RW$l)bn&?rqcaE;!J8^70lxDbUwi89owg?h=x{ugJ#48V45 zt88UH@q-7y^4&u8Fss!KjEoGut`)rX)>|QpA~tW{3|W>SNfH8~5F}ATTWhNiDfPU8 zXe7#6i3AsF%p8P*A&4T67l}|rOa40P_IJJSU5Rk;Kh+>oMi)g2IogAci<(ZRc52p|b>wwdU_nDh( zf$Iu84nw^J)JvRT0svGU2t>VnM&qdQIYXKPC+33gJ@j28$b*mJn91fqL;>kc35uqg zGnuJRKm6QJ?mAX`itX96`;7PQvdb>Vv(Ik9xBg^nXLrxM3#ma-Emz=Bo0xWWJ_AdN zf(ThwAP^CPAi5i$_ixya(djsLwRU%UH}Z)};A zUSfOp?nW}1z~U7Pal_)zX_BaXPZWgrFI~O>eajM%iHQ6W2XN(*_JPx0o=$FDR(!7w6`C@xv`9(?AOFI*T)#2*R-#g@mdRaSU&DBImC>=XLyK?NDxW^Hf-#C zb`Z?c(b3U{y?gf}J(D%cW@W=YkNn5R@B$OB?0gAeoMQbgF#y+Ib1gDQb$t16zw)lB zsoC#Ik`iCgJs-LqhQK&)pK01Sc5(zw;VA`%Q z=Uce>y+Me8WJ?0G=`>#W*7SufvG_y5sMJ!m%Ak}WA_rkxE|yyqe837L02~6l&QL1? z0|AL;g@AOW`Wh^cT!K%1^v~WuJvsa1NK_5Y?^*=i2txobcN`lT#?HM1uq#0%WBq6e zcS4gwAP^Bt2uSrRh{P0(P7Y!If^I}YLANiPAYU%x_|PB*22Y}5R1l3vI2(&XFfuWY zEzj&gH6uciblA)usoBN%eC$8gZoBBhi!nQ!M$v0=e8X9cH)}AT2J8Eq|7G;{D?hiD zFy&@V(*l5rYT1G!tEg2O%qoN9z{Q1=M&G)t|0f8%g;iDvv;aXU3d9lwT3A3ZDkG7M zU}iF-hV+*8?_B%AJ%a~Ek5`px2!eomz3yL8Hk(B{okqD-hMY2;h|~8_NJ?}lin69} zd6bL{&45t>fq?4DO1U5v;`LoLU7wf8^lCNCWe|4YLZ8WLo47%&XO7izUE3#MtpFih0z zT(h8Bt)fz`qEe}#Ua!M24Akp2)M_>V=hbQz)k+oBY7K^AVDaL`NT<`d>(8H93P*l0 z6w%kLId2gnEh-{f6qR8D*n(>y-OX>qulb!dEC2u?07*naR3=b|aljAUxnW*4$(;kz z$cYdM2&M$os}6QNI|N#j(Am|F0|)jam&qArtGeNdSMJ$pMF%l7G&D!9{mmR_Gyw5f z3ocvs0pZ;@zUR)#@#$~3BtvRXY$23-5CY>+-EyUldKHKVTM-U~AWJUsBH=VenOPGv z(^XWB0%T1@UvCP60L)}&@$#PC7#p8JduI~Mm(534XNOM?Vo?erGmH&q5D9d^X7-_~ zUA+4GkDPnJma@3-zWY%w7d;xe-;Y6n7q{;ly=Lw8TbZNWtg322kS&x-b;z=cN)9l~ z3}%gYwgIl}w+9w+QEZCF#W?~Y0woNnQ36E+BuPXp9>(P4tg0#6`V}kB+w;SRzkIx} zzYm#o=8TtgVBbF6|MYjAbNa7-JSw+$sgk_9cV&c(P0fPV1O!70Ux?oRbWbHhTv)0P z3~IQo9&NYBNb4s981d_Xo`jiC-{t?)JY593ropV+FzXHs!xA)2za}V!t$>_-@$lHo zjJX^BtsG~a*MYyf)1@S~_*) z^Htb&GF`RGSIo9Pdh*d{?#A%&2#y^)_FI~Y-)wX((D3CSd~Wo%D?Yo8+46ctRs)J= zqgpW$4k@s!0${t``*jzb@zH1)>DhuxDAwO{>4*1x z=l*{_zGTTFD5{8Z>CAH3a;oM?g^oufYG;QgOKZB9N66$%7WE26G@`(^o4VAzbK6_M zK%*){y%M6wMehS7=8o6&3YrQDZkArxR1k+DU#OvGm_jfRzFd>k)NrKjv1o9^wFhk_!QisAefm#JH z4KB&%p;)&Zt|}4fj6ry^W+} z2I))|)oNwV+`ZZ3Gz0Kw>%SdJwa)*>)b#Y9^z|i4g7kpYRR073ZIpL>7pG|vFhBFp z<%vDP2ax~)MMESMhHVI_7XiD%Fm^SpV2*(jIIzIB%kAL&RO;=xe1-|kx zU;Dk?`~WaL!!z?geC+>@-hSEVwmGK!EZK z=@Vfw)vAc{+j^IUNqTk`)f_`4s<{nV&8|B40rpNP)3II_n9S`&RBm17bZH3q9r{1cy0E?@$euFi41HsywU#TbD@C;}}6 zl^VsK?E@&}%INCq#EHS<$mR1!#VT)j?1g(bqJ4@t`&3_>Htx+Da}2<>%RWl3x@7%- zluNlg7cS@^n%M!=Wl-jJD!GXt%G}x|V>}T9_p?*}+1IYn zUC{(EkwFhiuU}b$Kv&P$L5>@w%y;|AW8ygMVFPn$G5UOSmJ|nLyhj1)c3lWDZeS714+B zIu2mgIgcQ9Nj|`Mb%#IP&&;@dyWaxZyc#_$IQ$uYG(Z{iE-x`fWN)-+sivzyS^O>>7ruB!Ri9fa5}_)I1c}CV1mC; zxO?d7lr=WLw`h3An7D{DZVe@YKvoDGi=kcyY9+w3xOiu&Vj`XlqL?-p_Vjjl?%8?x z$*M4E>$;A7{jGVRLZ7(|}xydkCKv4x~ArX=c7!@>#N9Jt0 z#ynAnZ+=(|)bi%eZAq>RNVJ4dEEr0uTEFSybr&B$IQqgtA_xcu1DKgP-3W}1jlv0! z(|S7mSVHNItCDhF---w+mW#+un%oFDjm_`(3wUn7cdd+jdA`*@<0fwcfx*KEyiRC9 z2ozaDJQ_u2wg^EKpzHclr*2%_pE!The?Rb*T1P4cQ4(R)Pv^FOBg3l{EMBw_wV76Y z?0uho4}tu%w$^xCJfR}KNJe{03#JZG*j15Br1|sUCQgZqloW^?&Je(pbtetq$2-{I zvi(%*z_F79NN3V$Z|}g=^d$26oKdl=8=lzyz(ysN!>b1mz^K>YW7U7lV~zp1>Eb)) zw?x`La{SdiDNX^!jD>31fl+g~7=hz$a^h!=8-RK=Rs-aF1=+@4R~LEzjTg z%y(wbUcDOQW8=T(UEw1T2p}4b;)ZiRgHL_%bGOTK;D_xUk%$@;5bGBa54K@yCjsh` z-!I^AX~ruif=GOBMA29H1Vq72_z~v&NJQWrizWlc(kC%7J%P5?Hl$~#QOM_vic#9| z^p0O{JeGe3hYr1Z#(DW|jyVS4>eU}aGTi&I1N#RQBO62^Ya=slVQRdNiIECMhfA0m zuOpW=Axc0n!1?lh))xP?XsFqG&zn1+sJqCh`+Ec~3y%zd5(L8n>U9T_EFhptq?or? z%LBdN!`~m`+u^ynk7kRIM7OhAN21gAD`J92WQnpphVKs1du%{Zy^7rq?wF z^FN1|V5E#2y0McM$|W1A&M5MQ0z?%E1Osi<#EtJ*ciWSz*Q}f=7*lW@2c=T!4c&`m zODitC_#!M_x(wH@`n0g_tPB1`mGy7VTil|7m`E;A5!c#rVv7i)Li~;IF$y*O8RA!O zM9F=K%qP3?n1%#bwMy0irUGO6A&g87qOGk1v*~FRiv`25s~aA8_JC zZ^f8n03LZ|N9o2jw@6T{m(9*(h$_Dh!33f%eV-XKe)lhNyy0OEXW!`Fd!qJvF7*nEW9eIE_h-rH=aK}bl|O>sb6Dw zbj*qz8(rLU)>g{!?&Bwh^w#zSjH(E;#=RcLBCzbn=C^H5MePA@sHd6>cat&Biw8zv z)`4g^2t^La^;-S9&W@e~Kic%~151}K!|3Q~x)lI`BLhe9+`(V4NTB1T_Q0~bS&**i zTM{A`Gci6?MoUY8|9v{w^(Re+-NQ5h4e-w!8O&cVoL?cAu`xAiAQTmm>edjCMKLu! zgK#teT?<5Qhu&7p(t+bg$BsH${xnX3|7oMlEEaV4^Y(d0vwAQSiz+e=H9ql=41`S=Y;~E%CYF;I%Jt2XmXfA3IW5jLl_<( zL2GL((&=fGt0kjqRyO?dg&%Kp;#1hOYxnPD^8=?CfThb?u(b7}m)fFTYYb^-aWPYY zB!uUrd;q=>YzuHekw|EBe&%m%FM~`QSa5HndtL!$O@^WA@NitrdN?kjkhLL71o4E1 z%xoob^PfLoUZt9dZq%;PS=^1dv34IRYFL&=nP`7FFtH^Tx~HcGF=;b&gzj<7Eg00yuHv z#2K$E+GEo6sPj^LXrWoj%9nP}4+^5{U}P|dL?Y~ZYiM|Ho-2>$MlbR@@qHr$-V6w0 z?t4+ja~npDVdz)|hUuWST}3#;6`A6(7EDZyBbm|>2`2&~(ce9U!KR^xV-j3ezrSlfGli`z-Sbly7 zbTNYJ7y+#l*mcf=EXnZu9|SMPpHnH}|78Lo5?9hoa)~`9PAf-LhNC0LFgkG($(B~6 zGc%}ED@NU_YoCIC`NG#BLb6rj+3q=Du ziK6*~3+_!V6&!>jB6MAXccXpED9XFeiUkYfVEquR4+H{lIbh_Cj!Q4Q6l>R>j~{;b=LbSs zoOE_|UM?{mPF(_{qF*JUZi$t-c>wS9_o7fDx;^Kv$hvBucAE4U=%nnB`2;yQx_j`?+17egESsKX$_jZAc3F! zw&>vKiQ^cb97Q70j%;QI)mp_U+T{(~_C2;yY@5LTy?cMBo1cHWQ-&Z2XbsQ9|9Rit z^HnAI>`ZpNr#ulwNa%zJ$!!A_0LHoRWgS?3eiFLQZ3%N13AKTV@e+oQ*P!YG&b=V% z{sI111qPpM&SwxhCG$ZDff95OY!Q&pnhYr%Ho=`p`@N`E5H;X1jLoIwPQl8xaZb zTl=?U{pJ7blc7NHU;7s75{QkH$8wn0m*PaIRRY)zoj$(Snco1^xOENOKy&y<-S%US zBxL^2>xP39hjaY%3&8xvQ3Qel6qmD4AQTV?rgAf|f_W%1L#+bjvIS;X)d5P`7D<#| zm1I_iz&*}NtsJP;YAYGV+d`4h*&>tGmShY1=Xb&|tB3|8h=oF^mjuuXfo=0zK6O1- z(_k=72ZrsyvK+tHpd}eVFzDt1nw$aO77_|cCvZfH-3JaLot{N38b>CVM%Abqb)&T5 z$sPA^+<9^{Y|Dlh1HDE0zB7)~fIy5fFu}n6Fa1aEg@;b;js=o8+e%t16)mU;qY(k} z&u?1~Tb$}5#HbGlT0|@ioe)y*Y@fQd~lUa4Y?-&9slZOL< zfXVSZ`WM9zimJifO#MBVUvl+0vBiB=F$c>uUPrF^cQ^X_`Y?aNd_;2R;6v~F$ftBQ za&dO1jDQ;Di9R$EZC?1~C!L5(Xen~HR8e@VDRH^u!3c_Z8#5CYj0#1$T!R);p(?VZ zEBZC5`26brEr(wY^mFy$V&OEFZcs{*Sio@LrJ)@w7M+tR7jShTpowiA0Sq0VMoTgR z+hM2{2pj`24L3xwiC@L=PIt#G6?=rCj^pYixZ#XrGgl6qzh-hG58Gmp6#<$~K&cHz z2_#YGngednK{ybEOv6Y|)R0N1QLYq8rB+MY7CG0bTkot?syCNQm77bY%FSlozP?f| zomVL5yBL@h4hNwsGHQ7nG17{l6Gb&EaxDjofH1+AA1@RPOiYzfs#>VkEI1Cgc#p?R0+tQz-8Eto+4=L$&;0b8 zTL$iS1_qA*)}f00WH9w2MA=Srx5atuv$Emot@m!6758KC_=z)!!Ts*W>#_nb zTfPEzjUDUhSd@+E$!i>aMkwX#kVyzYqdv+ALm_J*JzK-fxarDfu{j<B69!T1ZdT zFg0F5sc53LEdZdA5%$);UsiP8Nl*@kG3!7eC_+^=oH&|AGNq!mJtj_#6yC9D@$#TT z+MYRUZ5LazWHAmLXsW6Hjz(W!FK)a2y*MX!n{e~x@B3g&H1^%u=~*?Xg%Oa0unhQl z57smR9*~BC00Jiz6(wF?l2ry-;Q$jtD9jpg;z$LS#axIc07pSFUxuU+D5@gFBP~~o z5?Hn3Y-{b+SRkNdcJ|C=)Qc}U8+)GHv+wK`7wk8x;yXn_R#V+U3=O6cZ`C1b1f>k; z46rQ%)8zM=w{&>$;YOZ^x~HY%dpC_n8Na0IwdJ}S-}8t(o(bFLl@aOyAPkx;A|8q& zm1sv-vKy_@b|gXx#DfX6hLdQIwjmYoL~pVO^V{d6JJF4R5&$g1<+v>Fl`x0+x(|eS zEYt+DB%qM5qE<6duN!X1p$*6Oa#%uxii|J>A_D5v#-2m_QL}Og1R}_!)37besG7wM zKYRQ;8|~;QGMVh}Jmx=jysiN#777^7?MGX9;m(d^Z#JZc-$8?EA)hs%k}!Xf+tg2( z0L%1NFwdGcgb5qp_xlJ4(4Go5z(Nc@ADy2RY-+Ob2q>yGia7|$6+?o0{Mxju^$KG*Q+d1>j{dzDM`n!qANjV;gAr^?C zUgC4+$Nr~G6>+mloKv1R49N=j1Z2$>>Hsi1X<%y1^ocoqJ3=KmtO~<2p{fBP8jWA7 zu%KF+W?QQABpV+;GoWU4WEcf<62sZ?qvtKSXuDY#*8`H)-5bQvP#TfA0zD+6oac~b zN_iWztTv387t&D=I_!A@tjV}HH5~aR&Zg%aZthk@Y!@C)U0N@%<(6=ceNB;}YZ?Mt z0J^3_S2XCd!sXpPy(SN_iUu_pakKY=(Co?sk|;paxuA_@+b|3ZhGC&vsi0IY!>AiD zO&c}^T2eAh(Zs%i-LP#NvZNuCorUArM#ZUbcyP;)H-@@P*uQUIgT(XqXuPfgV2r`C zEY#F-NOp2(drN0WSWdi+gmNS|TZJqH+zD=EM7U1?fKhis8}U56SGf4;wvGVLdb=?s zxB3mVA!DR*a=0#~;}DnzLm((17Sl0wEC)pu(UnS)nTh;5RTNjHqDvnC$+=~vtqG`*)za~P0NB3s^VJ@{O!s07v1?XwdD1bih56f1Y^S)1cM5~5eelY zgF^`vje8{?;?Dzqal;eCKWL70qu zJ_qJd!*I$QwjFqMo5aNI=&*(2r=HxhX>&C>L^-Ps0d;FRXDW&L-y)6wduLSR z^@^`bOaLXD+OFZ` z&@4h~7!ov04%^T*5xU+mXw8{_N_p?dX?zw<^X=0_Hmyd_2sjRPu@DTBDDakP$qkFd zhJ2e}hHEO#onBdLUhYj7;2ILY%h}6Ufae5Ele2zM#*-gJB1m+|u$h6qhqfaW3BjmS z6bnT#Y8e%?vf=K>{&Qn;iHU97UZ1e`cRk*aLvq=rm*R#+pNl49y}y)c;Nn7k5@QE| zsN4gAN$_XC88E?`i~>lbo0L$jSltR$mjM8#X+f6xdo++`tZ_5l%Vmtguq>P$8APHj zf`y9{h$mExjTcZVm9TJW2L#bUE}M5u%Xx+}`Y0F~HJv(aVxw{6DO?%iIj50#&HM{( z`Wc0{`2o(!9}I+{sbN?q#6rHf+P3Z0hEctc*)$@GGE(gwNOi*%2*qUoaY2km^z}cq{{v1`yPAREwMh zgP*v>|2)(~GP?ighIsBAHz>Mr+Ww@J6K+t46RU~>?;8;%SFzaJ_(FqySMb-(Yd0V@ zzR%#eFK2V+kKO&5~trARD!|sFI(AC+4Y^H)rxdhubtCmyU@Zj^` z{rQA>5YtnWoV)Mz^XB(vydeXya^)(twI#8B`9CDWO6)NO%6TPw8l$@jLSh$Z!SzCd zCbyq7vOaU@j2E31gC0;ZGCYgSYz2MuS`mu};fpE)XS|7Z)4=fP5Q5s{ zl!^wJ!yrilk}Xk0B0<0=sN@)|n#&RH<~XSPUJQ-X()S9ylbkhKJ~vS%5P*mbnl3<6 z7>>M}M=@jhS$1!wdH?#)2*3mfZM_O=Rt~|43RNeVm>K=?WO3+@J^8!MOeTx%FTZle z`+oJcSEIZug-?I#^UIQf&PU==y}!Lz!il3fI29R@P!L8%@Ouax7d+(kGHIJ@ZJQ@Pr=+I zw@4VMKoL#=HCDxrgU?~vvPBp-EuTHANujuVeyY-9xaLjL!9^8>#| zN@C^8vvJ_SK78YoFDwhIiN|zN>8&A+!!Oy0iCqvN0)FD9$@K>S)>xE;2nd9MO0^E# z505C4?P0WaBp^y&PHLxYeN0jbV*rpU9 z{YBW!Hz$Dkj8u-vpfMTf##w;j`1WnTs2xy#po^gT9S{bh5 zPLo`e7vDBbN<)$hjW%lUb9+X@UBGSwHUxoFl^;1c18R%@=V5+&r|r#&F-4jx2};lbhp-=#o^IjKP5{ zDp>)ENDO8bpcbEFY7?Hlw;G$DIuw+0EkGXHi0;YFd@<9;)VN#|jDb?>#_poejwE<8 zVDP5TeUDR(0UFQ$r_=I_?*ITCLrFwIRN<`whcV7J>~I}5A}~m@fOw|_(<$MVgD+s^ z>ZLexa2Tar4FoK2(&~*Qk=?p){7G!uw5chh`9J^N-{pA2;-I!|W66?b`03a`rLXMz z!zX1bzh75lTFb&ZMo;9S2s%hJJ4_=L*mOQI2%>H@dJL7ag<`1;RZ+lT z`#=n^#$u?Mb2QWREMtZgeqbi|Xuuv)4s8$$^8i8#R*rvcYBNG5f zAdnz{^ELDT%a8;Sk|aVBMJTcaMV25-5)?^w~kD*rA1JINZB%*^^GU^qeS_bN6 z0alHG+5%V5rHvEDH!@8JA#;D|9pWCu$|K+LoewYB#TpP{BL4sO&OFGn>b~#abME%` z*URhao?XDO2@ptZ8U_@El$1*#Iksavrb>=d6_?{!QWjOYY$vf2CraW!l5$CQxiA*S zaV*OM6q|r-Kw^~z%nS@L!z>Il)6>(_d-vPlyUSVf$2s@D*TW(}3~^;wG?e|b$?V(gCn1&`2 zNCbnB3PLDIp&>+qB#~&=dstg*quuJ6zLH@KA*A&Yq)B1Q`a|qtcjEQ;f%P#+WR;X@ z1*J@90Lr054SX!!od-J`-rL9Rz4soqsZE7iMeVKjRwF2q+Iv$!vqe!O6h*Bnu?4kj z#GbVhL`sX=1b@%lc+T~G3HLeob&v1otlscdNNwwQmXn*J5AWL6*jqmNB-{~w^3?aC zoTe8&l)u7jxZd9dU=U;q^+Y;PKC;wbJ9ggeQ7Yc_9^FFn<>lj{P^es2UDTWI-O@n; zl@su<5H!lz3>DqEpZVZseEi?6?GP+kfhn*R8`O99EkftW9bdx9%a$2x!>lV**U<6} z)JgGv8NvO+PYJF1Pb2*!?`Jb6a;?_7qR7``G3Gb^#o3+cwu)LIZBw^oC}k zs1nNo44VHpspRliR;nPG&m}8&FQ1epXnX+56e=Y|N>2BkWg#itXTNiXjP6F@!6-+Z z3m^o>P7}{|Uy-O0@utWpQ0+khT21*{WyUecw*U%9l#{FHDFwm4W&R@r&AW8%;PVRb zg%GhE96Vz#8}M27@HvLJq4(a4Z8;dH-knHj*QL2PNN?8jNXb4FZ}Vo+{^*ANL4V^r z7So>5!z9e{X9v%NfFlXuU+PtVq_<#K;Wn4YVb`n7#Icf}j7o1-6-v@y62t&Z^C6C! zRrG7iQX_nMKGyVbZmJ%L~q+qkeu<_yd~lH@-jC5?T0^# zM?3H(KK@PG6BFn*hDFd!{>Oy{Rsc{h%hIC48&(dkTm5s~Z;<;lfqNxu zsBmHW@)@;o20jDIvXoc7CPy8XgNqav!C0dxCNa1qCOJ-SHKf$!36nQ)_g5J%^2w_j z96UVoJ0u*udHMDViJJcO*B|2DXCs_CB5xLlwzi>-(RUe^=^x2X7ozV#f!*EcLiweK z8d9<4cQ;;~<5f4+>Ao6O)a9FI#-`j9_`kg)d7E&|a5JB)uj(A9!QE`%bZ}^8o%S^J zJxajlh7%sn*LtVBwaaKpRhn>!u<;WQ1_+m9(@$9<>06_(Ue_C;4@TY`>5&)n+q z-B8cUt>i}-tC4UW3haME%TL?9(8cEFtH?1%TUK&a&N#>QsnewD2XZVkYYGB~sI_R) zp;V;)22aHUsgg-@{}GY!ah_k$41Xzcz6&T0iLT ziSR57yiX!8Cwhy$$H-t(Z^4Z}?X6{Hi&o`*HdV3^32{EEif%by0{S~3w7D`2OfvLY z$H;~b%xHhYrj0pbleFm&R-ZRhr~f1Y+tdRTloIZ!QnD7Y$C`u7WT-|YZ`P?COpyOr z`J0v%Q{u%{lI=OyQW!5dwAxmZKe#l}w)tH*Zr)XetH^{hf3&nHH8nd|8qR!*l>s}W zSv)hbYjIw>6xn?bE^c4Ci6UmS+ua^bZ9X>E;Q!=vFH=fALi|}mb2*cGND={fL8I3$ zrUlDVr{fdMQKZww#*$7P4YW_oNGmg~a~dD^SyqJN(?WFuY`8y1;RxX+d;kXI&7>Aq zGk6W(w`BC4X)_jo7|`mZ`tz{TeRH^phU=X6(9xI*COG58tQ8uq@K--0_8N6ym(gNg zhMEckYfAalYgb-&F|Q64YU0ZvBx1Goo0V%0J*a3*i4V4NR>Bu`c}NoN@w`UmtCKe% z38pMMPiN2Z9CUroD$#r;l`+ZIf8NzF+-$_IRYm{A z1X1bm3xjUNEY#n&rumJ`l#9R6Ilri$RUwFS#m36dX0vdYC=(B>uwh>*b2&2I97ldX z&;y+PP-H9S)cq^j^-(+R6=RA`FfSOVh8NS9tQmJ=Go(RV=XC&Lgt7L;>in>_veM|~ zR2S~@S5^Cpr+034%ub2#Hz?-nnmV3P%vP7$9J{uj(DVDf!j|i^3=(T*Kemx!m41o# zTv>Sc@=aQ?&^mfH4f>7qwNJg$e5?SJcEVeyKWlJyb&};t;D;3p7d2ttCaF)^#zA1N z+czuYZZ}edC>E51Vp95==C{>PBX3V-NbZ?P61y8N^I#Xtu!q}D9Il~2_KAy<$?z=ymmInpmY?iEHEs*a5vnBDPBtd&nxu#1c zQ1Q|+W6|;-5Nh-8vqV??MryYx4p+u&eMmmRW;^c`>-GL!ENg^m(qD$;@OI3w@Wl}% zk(F`r`En9p`+8`)P2s(*DnFU2z$kuf;6AqJe%;)GOIQ%gq~_dWo(ORCjof?Tel;ZC z*Ge#+;fzAjRi_=kzyEPrq1U(9uszNpiNitN;49wuAbYq1ZtS7E>%g;)9%8e+-gD)~ z1{rReF3_CROdw1>TTC=D?zEAnzjvCmnai?Q@CQl=r! zev^GnXx|8Vm?#tm@$9CXGCkp_~q*npyca$Jzc1FvHUM9ust@zcgSXt1O6JEbL8wNwajNeyz0`TMl5}F z{(1C6W#wHjn8m0XmvAFw&b(e$p_qbX2xoPw#qbA$CpSWt@v_`rjqlCdx3~-p9+C=D zadyhdLDKAD?``hm9d6L9?1K&ja0ONnLE4)O@K7K!e|Vfd&5Ylz>{%4U4eJZ6$NfFXM^K7OTmO>CA|XZk34|NP0BLgZOkq;%{e z$GR_P@uLhG*L~q$%ma;b5q+?R@2Fu|)vM;wsCg1xks<;$AtgC1B#Etx@z5eWG9>i= z8w`|x3|a7e&kG?bpI+|{r8N{U(&#YNfZAy`Gp|IvdzJO&D72K!eGKWR zNv!QQ3c|x0SV_Rb9l2uQw6s&nSQl5$KroH$i57xDn>y7R+`2#fTC=CbRTRR*J$yp( z)7@#on2ogaUJeiQ%|pgi&xhgqo=HxLaW6J0DsHKO;iqh zw1nkzrO^7%(3hGPT9Dtk3W@grV#*){S>jBAu7CisH=VnJgVPf4ahFcEzT*_NlQk$V z7r`bd@aiVh=e3-JF1BZPUQFbB$cZ#lDD<5Hn5vI8qeG!=0Rr@73bH%|acUk?Nh_PK zc!`Gis=_f6f`y9~^wTU`Th>859$%XO&F_)$w^<$|#@3JHndBYRm6`B86c`lm7d$eR zz^J+#j=vqZCFi8OT05NwL7%O9ah^AJqZbuL)=h~1>tC$5m3S_l*@R$d_ac)XvEWj> z6*4XSr5*0CeAb8h@Na-7=Q|4fK!sR(Dce73bq~w(@auMsdZzOm^_ZF8c#n7?az5VA zfSWy=;Csks^j58N)!ZQ3%-_?GrQ4ut&wjv~9t(N`*7x}o=h#d1@Q1W*{ZnviaDp@4 zSyP$;Bb{+w4mBPHo9~YZHNkgQD;%LDYPvw7N#kLwCpt75&UiI6+6Ar`jf?y!J0jzRik?LPl8C4 z!gKH0;k#FSa2b5^VP>n=@U^+d*(3%us_9`-VO)KbplKCFlxx+SeBC2;SDY3*5Ib)0 z-c;rHlf2V1s&X5Scu3mkd=YhNb^!&AU@aq1S5byy9*qe+x7P8n;W;@Pp1i8n?gV($%f;8y#ap+j-URGX0 zEhf&Y<|Z@kdyp`WsCwc3DwFKS{69dSxqzEbMc0B-E)%|Xw4j=l7 z2+fkbYy+k9)i@{s7FbL#zWi~KGZ34lP_-fd^1$SXaB5*`R-1CA5Z3mgsqCDj*NEeu z1mI=8dhQ(2sw&*=0Ur*@3?FHwmO2@p_4+G9yfR}m73VOh4SIP^SP1L2@#>Yi-Aa2b_ z8WKsJ<@GXNSL`&=KivR@Umc0n{xJ4@#w!q16HLFV!x&?#`|<%Cc6}B7@Y^wZTR?v- zI&!KLOWSj)Fr;KNu{V0>#1GTucx{wg?0}S$Uw)TEqf4qS$_2$;vcSlT1+(Ra7lDTW zb7}sJ`dvlRaBy)PCjkF%ACe*&xlHQk4a_YTzxpr7q25QV1FYEDfD1q0au@y5;?vFD zEGF%KX*o@nC6OYVCJC~wfV66QuxycJJq^6{6ddl$U5Cqq&Q zM*L1yxy5g>{qy4M4{Lt1+vQdtkrL|Y*2~#r9*9*nq|@Kc?fPr@Q4gzGwr$gCr+sz$ z4Y0wmJlwQQq6r(j@d>f)htUc#JxOEK+~j(T)3mjb#&CU#JAU(l)XsktUS{&uYV6?| zim81f$T3m%tCCFyPqxS=46`XEppRp3zqMz)X4(m2=GpN@)w zvbhr8=v&*^`kLy?13W-I0d2`OdwSCN(j#nA0>z%lN~tB=)wusEzw##)y<3!VF7lvt zZC~KedG!v#Ya37mZZ><&7~-qGZE5i*FLteoEXKYsv*f7RE=)y;I1>()u978yb+!70kjh=Rb;F2N$ zrYh&<427m;I^0rEbpML^Agupm!vg||`d6}cznM4JE|R1^pn~p3;yAfhkibukg>tuV zl5m0Sny_9Wg|My37aw?i zONOEue{&WKVf<@@wE2&1q>ALGRnB}BGo7!9md*07>jSloBF~f?zIC=HWzPw~ zH(uUzgObY?Oos%YbMF2KssFfnHDmx~@3pA){fh6v@vHT>Smus|r2KzxD<6mTl%i1P znjs$ynztXh3Y4PRj`uGUr;S13rqTTSAUt zlL>lB$tmLrOOp%!ne$u0+;MG}4NByWTnQjzlQZg|E4pG5`1kBdZ?D*ywGQ5scXDcU zFM(}qA!o-B#59^SU}Wz_q^N{GAkwg zPiqZeF_UXftF1nliaR9ofCj=c7v9fn#kIZNmml;R?ht?DjW9!hE-@Z;j+i5r4KR5O z*OZ1gIerSmV*~!r^;L`GyJ&R9etW{i$#Q(eB_1t z!q67o-%v#V3@PMQ2&a@nd^s9eWBf-Hl-LzPTbbBckj@>_tgQVcgNgd0zOkt}6-oLC hycbme|8?^5>YG0z$ZDU@lA2HB+X1 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

lc2!Q@3xosRe%je$|K@$qQ@c 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 diff --git a/ave-php.png b/ave-php.png deleted file mode 100644 index f30a60a3659263d176a38ce4fb7fd575006184fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1071967 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

<}$hK4XAJ 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

S&~v9MKe0Nq@r;G4$K zrI2T)#~_G&lNTH4ln8fm7AY3}9Pi$`hW$m4t^G~B^7eOdbL+h;0#48x9>D`x!_;g6 z%61Mb!01ePU48505t2rRD(H%<0(6975<;})62llzxzT|6DY@m0k`G}UP0k_|-sF>i z&m&aCct8atHMtBiup&W=I?cHNAJ`^lvV+&c)f+k*4u3Ka&-gq9Q}?8WEh+Ccxl6@d z6!|;^qsOw%Gw86vYooCVd!V{XprCQNs3G{^%{PQlSm`(n>CTGZpxVfb8!G1*rp>wN%4%$_J##78knVP`a_@N^@kfu%FfXhtdnm0H9f4?h1$D{(zVt3{|urZom# z8VwR<)L+Xl@;WJbBF?Ar0SU2Yba1LB2Lls>@=B60v``LeR3uG93SWdFTI##u(%5P!?@pG2xv)Fn9wFTvOH@2jgNLC6#y2BnhNRIdT^=JqUVvlB#Lm^mq_ zmbN;uQh+H3R>8q=z4~CCs*)5g#5`v0Rys_M?_ujAgr5g!=SOW2z&-#t?!$nMfh~aV zwJjig(&UA!70^E2kHgTV9l3=Il#kjWIh~BKw>!p2I*c*H3~M-FK7ych9sw)7MC;mL#BnGQd`WR`+;IR(Gj6v zD)gN>XuG$E``R9Gvl>6(&JuiW;Y46TQT9w^1FVGyC~|2Nh(+yEjJPfG%Z5FUtQ{&y zC`qa<0$C~v}7z~T{fRX4Rt}U7ooBG$JUgY^m zurtUzr zqN`T8bkqS#Sna1cTGvrr2_RIlUwUln4z9=@JcF0fm}vbup$*MYk(!;WGDPul#Gk)oB6S-zpN0g1HK3~lrP@u3Qd82HMI zIU!2FcmQg`iyDo1BoD-}fZ2DV>YqDXp<2CYhpG{{3HZ%F`Yrq)|KcB{WkxadgS#RM zk};6>*^>>({Pv|$0eyS}bgBSPt^p6Nf;xphSkON@LHEiY=vD<50(xl|{QNfh7j~hS zm(U)~yVrZXSOTOKR68&By|GLByKRx)c=vVu_rLw$;>_{0_|y|WX@!6&mh(BrH1#Ay zPT8usUz&X>&PB~j%#=S@T`n9kp&F52;)T5f#^RD!PqWap5V=er1M!XOK#fXHhqw2b z!!{$K4sp0?4nb_&OX7R*h-^!!XiI*Hre1v;5uh=U1Gil5CdDP!>Dl%{mJcG*$19o{ z$i=@4Eh}D9wyugnR(XpzjrVAPHt^e`K> zwMn%pz=$0R861)-X<;xm7-b@Z{lE6&l`5)oe)f^L6xI{gAm=Nj+Mt=^dD1qV7c@X* zlHOB^Km+oIN58p$JXBOV=!J?mNiiHycCeugA#s$?DuYZF;L0}=YVc2l?T{g?=p<5E zs72qoVgOaa9k=K~v~4+vp+$_;9s^${l!yqFp=|*TcIF%;Q+7r4a3nRwAf_=^h{S)i z10Q1{q2#G5aHdgX7pXAVRh2>K&omAdw=z*$vm#!R1{+d~I}OGbwV`jKLTa7??4Zbi z+Of3QH3VNHGuLGB-yu{oMhgZ@26jnI%#bau#g`h|>N=H{>Yz&KX^EaI_UaP1WeeBj z7QTpQv8lU1v_Zg!=pp>u^s{)B&f!8iiIa2;hiC<3nxKnRGieqT&B0bv($(V~`p#53 zrMBnF-hXijs5iD<5Au7eXGI4>sRa}2utrmy<`d|spufk!z=h6TA?7NWCM)rnOe8=s z?XSt;s^G$2mQyk`Q(xoUs+6}3hNN>IfZ;04nGxeoy!62LO)spxjv5qu?nw$rMs6FR+4Y9gS}!BFO+wCEEhp z+OzGzH@2W1fsTxULlg890?h@>BOONPRv{gry%n6*H)0^q9R}N$XQ{wKQE%)+cf_D$ zeFeR}2icW2-A_-ULy>$?QMHlsDJC8<5{(@8*qD&7F2bDc#Bfk>7JSR^jhgx)oa!V$ zKx}Yejbu^tG?5>|5_SkwhrSNGJ~z^6iN_*|d;DfTBUEu!7Xz!q~HACa`ZK zgMrYta&gZ2_q&?3wuGEIHVq-sEoM>3%_0cs+_K>l&&HT=g|hoex9S$=vhSOwhC3Tk z!I6Fio!V4YRInh$j_lzk?ciP9!k6(fc5rvN0OM|qPdxESJp91pxcI?N6kDd9ScYRM z5THmgq8|>B{0IUhNDx4PBm{CM*@=N9KZF1_U?_58nQ~|;(L_qLD2n3TB%5TjIrLof zt>KR6oNup{A8XkADglC)x~dVT0D@wvyXu~EzO(ll-uHQZOBH+tIO(`q9K_Wq#E~T% z7jkcnKthr%*4N3;kP}gx;!2Q!hr{!d;YD;K(n?Og+2LXA8$m1ZOJ+mI)EW?c=rg~G z|KUUb9d7U4%1Ao@g}MS)WUMU&#t#2 z(7$;KsD$BD2f+XI8s@)#BkoYYhrO8f%Du8|0!jxOAGjMnhA6 zO*J95`FU{0|e|6i=^b%8UUJNMb zkyasRMxT=4cT5alJN^P8nnLyM)`**XcW`igh{NN3T)BA}S8u)kLBNCtJcUcx#yZwy z6-#A;K^Q~fJQty`h_&!@Ya4z>9clHaX*as?x0F~%d68#kHA!kbsrebR+d+IgCGM{- zN*?hjd1g~{^R(>rd{F(K@d09(h$LVo0hKXy;f~XU7-DJC`>UJE+2bPNoKWfr!?GHuXy9UXUJ~(rNDnlB5EayA z_H)$FM^|G;#IE@JR#h>u`QD2VxDXbjC8SNu5;p1@9$vYKmHk!hjrZ0nv4`tW2&#&6 zdpwt{l7pn1l}e?yL4BM{zI0PED|hXNT>{>L0YjAvQDO1c+SR=)p2ue&u11V1j9X6&|K6{M)N2a>{qJU;^hAQCA8U*Zg zwt(%<7I1%t05Jdj;L}HiIK-=01?UM1zJejuCZr*enyw6>c|jSMv4VB1(+)1sQ@AW& zMAiEj3;8@=#^>-goW>@0u#Qz-!bAoXu+wk512yISF+XJ8 zzgY6(?7Ul4GU_9sUAQ@e-k5taK~Nbne)_h_ZsT%B6wgS+I(7bQfHIm)e9ati#PC1$!aO#SSl% zo3}vpWao%Oy)S0BZyWTAUH$?wP0&p#?Psp1|85eiElPPh)j$6-(18K*bMrI|89turMVBpjLX)BvaH9^lwWdLEg}It(C39sRPq!Wq09PvSIhVx5;U#RTk4F!|pdKuknbnMctMm3%ANV&%Alx{32J_Nzv&V@IX>{i5aLBLm9+m6K6S)O#mK}=o$|D_>I4u_TNfuMMsSkD>VoYSua7J^+R-4F&GSyWZ zQLozYmQ(eVtsu0x6LU>X{KfjX-YsVPbt#KD{Wfak@a)vZkIL&vbgsX!)#G9h3NV6-#8 zXu(t`Sj957WgVMX!yfK6Ghu;>1q2KGY*-xz>fEJBGV#~jH;FO)&ZRv`+Hp1fsa~&` z^4OkPgO5i;lcE9)SXcOZL)7>WP9%xSF>1*tF>;w6Ar z2MniCP6gfd&b@=V<|L3mzUL_fIqBp*xPgWLD{b99FGH zfu#gYRwh`PPB6g)OS*zpY~zAHjWs%ZU*FJ~j`$M3i5t3yUERZh&aluq7UKd{77!g> z6<|$TZ;_KerkP+{i_-E}?Lg;n7^IXorne1#?<8d(tg!!m0Y)MRd8imkozNm>i0q(B zBPmxqznCE*(eu9nLG~BP?UntlT?5DQ`vtb13p;dim{7>z;Y7~(> z{_n6$mx-w(_EQu1QG3`)3z#X3`E25Yj~Jx}MRS187hL@HH$NVSX9_J5LQ<{LJakkj zS5r0>W*_Wm?+$bcUPv|@K+R0=j^)yVSR{t8vSBkcw>)O2poGw=0DHQJiqWKjVI!!7 zWgW1l%lR-01S2hQsE63a9>oY^{$wY4oQ zFReHXD`qaEWz70Ushp6hwV_#TdIujCHP>YuxM{6^PdP)v<>&3$HTFW-cSHjc<;6a` zdM6qtRri28pv!-MF)ncHa1U4S?&3=?J&XVPfBhwV?yH~ni!wHD4%kxjl!t1A13onn z=!Z9eUw#Dg_b#ITeS1v-g!8RJ zJ`36+=ctSGig!4o<$_H^g650YM#s*3l6)CgqA|K*Rh(&K<4Ula`s>!6 zJJ`FshdM5Byg0_)gFj#V)fw8v8m(XrE0|)ixUSlUO*V}6dx1G4+E@*QM?9dw3r>o7 zJ~uZw1QKLwm~5sUP~2sQ_%jkqF*bV*5?llC25fjF)Xx5F$bBH~Ljv)X2L$DsJcd*? zsrLlUgb4A*ziI| z)N*c>ncCuoC5DlfT+*OurU;Q7I5x{Ds@Kr|Y>0AxugM2eT)qASK}s)bA1&N1MCKxiH z$3LeTKxPe@jdfe%H{t_08u)rd}>*lP1Oeg zquP}LB_=Hp9)PmUG~H70!w0&1o}iOo7%Kh$VGyv^DFU|rf5#x;o(}-pGg4jZA5m{! zTuUQD3N?wC^JdbI#eR&ftgm1w0|s8gGOb|;=Wqevao^w6XYmp~#b3sCx{F)1kNrBw zLKcv5mb6qML9IwXZX5{VRV0X$cL_~B8oU5a@^);QNjtfh$1g@io&?M%a&Kszq#PyAN zlC@h-D=2>6Mi92DK)P*m_%YFuOx53G@~AN%&T<<%*mgFLwah&SnYWrOgQvSr8xl5S zz0frc@STxM1< zI04*W0ygUsmT0iPpePnJ;#g+5Ne8$}x9~B27GHjYF6gCU8Bbk$8sGiId-2%WhjC&1 z0i4>|!P?pyN|{)rJ=k|1?3->vMp0Tkm-zRjjlzTl!rX>R+N6~c0~q!bCbp)bD}19< zw2f0_TZe~|v#1Ki1vzw*l~TELEDL;n_Z2*Unvyxl+lMqOzk-eMYWoB#Ml^=M?}DUe(O&@gkSsPUxO5d4uXmiv)M5gv+CP)lYtsX zR9nWFv>a}Z?|W*?{mg5onvBP?=18*OB`P_HBS)D>G@sUJU~9g&mAuJy1(r(0Z=v&A z2PD$ZrjCxx#3t_)ZE|m-mM71lz~>0QF$;#YZ1yH?Bzxa-eWK35_p{y0oAw=tlg`_a zmqtn1cX3OV;gzF-a@!C`V`K#@b#aBE0D(tQMs%85j-m~wIxV>^6iXL?{!S@n=eq2^yD zR};mVJe87Xo!La$U$@8P2^)M>Y)B9ZHK8EO)D4QJ-eus*}%B^bL&IWZqUhbYD$9$3U}W*NG64#t35=JWc;M#b8Bc~nZZzJ z4oD8^(=HOwWI;1KMJ%o_K}trl|5}#ZQBR&Ih4bSeOLwOEJ6um{KP8GT?yE( z7Y!13Yl>MKL{gi=$&D)M{f_}=y!EWfgUbO*r|)KZOtANApD2L?BHur6~x5S$~2-q5-iK=s>WXWq@k&`=lfr zH)2+qT7@ViZ95*yny3j$yKnx02^B1}(a-MnuLX8-9bdu`-9gnkgcfb!s1D(!;zwUI z#YQ3m<={JFP9UBOm*INmZ}&k!ZwuJ$Yystd4g$cOhaY?75fgXW z&eZ{4oYM0cHj)nxn1H28!E|{F)(NJxf@Rvk`|(L?w3O?|_ zNZoCT!VefxdJqTfwJ#f}rYt%xK$D8PQbC*a5nQry4?jFffV6yglM+H8XuGT}i- zT?Or1X8#^Y`)t@@G!U`Lv#SHrRUq05XxRUKI3DBH!2yH_qb%^nZ+*VeZ9}S#CLdNU zeo6TS`GF1KS001>+Iq1wPYnJpeK3kA>#L<{in6!PC*0{_y( zphu?}d6`-066ExgmXla;gt8qB{Kmifb$sw+zmXB5b*z{j9iuL4>M>f5ln)eLg%Pyr z=GCPW1%3RkHKUyD2KJxVuJ;P>uBK-DkxnE#Wbo$GR?K2?GWm?0X$*AopZYY=xAPg%UP^-1PfhMgCXFFoR;=2<%F&~b{ph@ECiewkHLOPF|rf*M`BXwL0kSj^h zQawmH&qz{Au0W^)gO8F*KOdARQ+oY15}W+b*9-`UMbJiv{ zs1y;4(j`+4#<`J83kR^KvPoM6WDRI*3{ib}CuGr`>Ve3jotmY_ecpe5NUI)u5{^*3 zKruc;aWJUFxfB3Mq_>^(Idk=wD?geNNV6mi*+K>SR{AHJQ#1ppA+BffG~Tr0v7Oj-ejY=9tgHGkKh4W3G^; zoxqY&rZiwpmhsri!#G3R_w@Y`U0`3YV#E;ymY`==Q9v+u?n=!&E&3FuE_&P-H$-g^ zDNs{BB=(DAMBw+AN7=G?uhXZC*nP=iGxBrLqNLj}z|x~kMHQAGi-P97?qa|%b}tZ- z5>qLxw8T3R3xTj+;SXz9MbxnI{S_$0oHE7-*~?BkXm zW3SFJ&gQ6Mo_kcgWMfMJpW^q+v*x*X6(Ti~rsdbiCBcaD1kxD>RMKM|o;4~leU_Bi zTU3^Brj%PQdU(@9@~924LmG72>TZor-kUO4O>kdED7sfI;2sidMi54_B2L_oWKy+g zh{qI3Ak4CK@+QfSd8-|3mwmM>5LwXoZSjbL2U%3aX#DqP#ksO{=zle*&rQ*{%s52bP zp>0!1lEltnY}FMEelS)Q%(dc3=eSLWxQ;vcus(y=-k>S{_WBOq`N%u)mWxkfXJreg zHg>SNzKIDfVbY(u{{C=mD12fpZiCj?Fo?EIC7fHq?JcKn_{Gi*2)J4(12olRoU(P- zmiQ)%azYP+M^AQ25pMEd__wgmXZXl7zm1o!zhE-r+}uketC0lJ2|QuY-#88V<;PIp zzv&%!Y0srB4q-_K_V^;myW6j)i^=C+kAQz`t{3j2Ae(qtEho&YQkX-S!f0v z&t=>xe~klB#Tx(E`ceUCa3+R8w78Y0_2$N782mFwvlfI^fc?`g)a2gb)j%~_FKNz- z)Ef*{14ZUPt`08r25X2jI?qh?zmvPog{0(~i7+$@i)D9{Q<;4jl%#SWNEY)}**C?X zDb8%S;xuNr0EsJ|xc3#g_g`b@Sn`=KuroA@)HIukG^(?-*u#*W6M#F1cX9LXt_=d_ zN4UKE8W!XH^%v@R5Kr-A*eq*U;bm}bqTB{LYh-FIn(7rdQdzSi$e}31tw&y8Nc`N? zCGS*$?L0kEWO+dyj}59hq=iqq`FPfpr=^}z`Vuw2TpJx(`|L?`8| zHehB`N!h)wp0OD=kw~*)(f^xAw-6b)6b|l^P)JC#!&LIPNt1?mMxTKfW_>Gn4eSHgGmso2JwNt+W^GREp{(|3`)Xg z$T5UuHkMM2yHXp}*HZ$Ra_nVl%e-t17EC_S;2PfpH`fVlW9)-HO6X>TGAiVRva6|} zkad}KN0NaFL%Cz`md#PT)(L?M;x4Nvh6IF?%0`Ce*9%!~6pb7=Y=wLMITffyxha^G z()JZ_;_S41Y8mmpnG_HM8xhQOfqgy1t-6Po^(sD%=P=$Up4UJHf0@1uKTCfD@59r$ z#OHB=PGP5PU`5uj#8V6&;TK-qz(RWwYwyG6fcoGBx-|d;n*|006iKB@sJWfn#mV`5{@w_U7%@Yo+G>j!B%xypF(6bSL}nXE z<7^kP>++cr%PF?{3}ORh_5K8v^V~^`v1&UP(byR&!HES)X$loWD5m9PjCK&{6kQqt z$gNYvs!W7JJS=lr+A1g)5A?=^q`LGA6QOVCLBJYXTELe7@9F)v1po~~M@rCY#98tK zg%NT;_$A;#IkgK*QUYwJ*K~CmtE+2ZVyw^x*7+Mti3)dg^mOv22Tx)AJH`7S}W^OXI zc+uL^c{wBWB=t{rSqE)hGC7FctC)j9m){|&py9EL*F_2O3jkN!;!w4puY~tUH5mj^ zlqqqOzx&2pI;8gr89!_O*-dT5?O+R^WNh|)%}M=s(ziJp>T-l%DdqO7%I4|}Mv?@SC} zh#1Q{V6`s!mP1ilQFX+g9^pFf;M4RxKCj<+L%tK!VF~Yk>^*qj+uw%=cFtkv^jYj| zoyOYox&i)N0>=J)k;9^NbZAn-q}exG(m+d5x(@Bw5{}J;74MZeCG%8cne{?AaB0F(h*fcat$na%Cz_riy~AgUdyye*U*D#YT; zNB8^#ofOkOyIhjCOzB&SVp|f^Z0~~?2duCECi}PG$e&o@xsB+96w(( z8ZOS*99RTkRZ==DK7ip~Fpw}m`<$v+q+)DCt0+XO-)nJJb;DX`44Cq#u}aY8(NheY zq*}vTso60cLW+nJMBDC$d>gfK0UCvm@_8U_NeVWQ;DpxN$yIS>_d0IhzJ=L1!@==B zZtd^BehU!|c$yx^XR`XYE$|M2o&IiMOhO^w#!{#|G@*-{Lo#x|y4(1; zF=QetIEGD};I`O84=qA4l|F1q5@O2-Z*6=~XG4wxw%9pkFcm*vyzcV!jTruj4}{uf z$`o?vzhj^ySqw#RjFK%k$+RXVj^a0IBPjxmSk+PYIqXK*$IdmNjee-R0i%*XK4 zvk~(Hro;{buuo zdP)GY_O*GqHu1GaJZ+bHB4k_qST4AYO~{5OR%^s-5`UkHH)RGKWq&4PAd#?2A4b`E zOdZ#fG9Ipwea;nObLi?xms5~PGHq1^RV(J0phfFfP=!XcjdvpqEylk1nIEG3es5Ef0zh ze_&jvP%cM*!)Viiw1>KVPTh_|Z1rmaFc4wN12)SlHYXcc;pu&_2OL3Z^!VIp+FJ+h z!Di0&D1Jv#Cdsh6+D)AO6QD|j5=edcYPD8P5UVf7V$|geC>NK49t80tb&0@v(jWlUxTqYPN%4Q%NtJRuU# zC%3wv&&j>63bRHkWZ>L335h`>N;#W2F`Zp`kxhC=EoqAa^G3pbHV)jQP*Ue%LGHH? z1%Y&cpz7JfHWVR`+G@1n+_ol~Nb<0W(}6@$Ewv`;x1<&sXwo~^&;rR4(Bj1tQ+fvz zJl7oMF7L7fJageWGUhoOLfbHD($?88;+VjMKZ*M6t~iLO*k(#BDp5#0vfQQ63@WQLiA15nq;BPlgMHTh>4`MD~gZfU_)zN7)6;Baw>>vwPA zU_8L@fBHA^@|ADdKuTgOX|gr=rcV`Ef9Dp?{>;PJ-w_=D=1t6&?VlfN0SyA45HKYi zJW?>6Es(PXm`+d!fBi}g9z`wHLR{UzH3m?WglXH1dG0z0{CCeopV^0e^sb#XF5Q(J zyhH=u{H0QCicefnN5wz=gI~i!Dt_wyKZA=8JPg!|#e9J>nHbGF;sT>6R<<~xEPmt6 zptNad_uo_)MS|7gnc^sUGNg=JLjrGv^7OsNB!t-&JtfaUDqW_xQrjMg73n!x<#rYq z_Y(*0TaxD2wis}Vf6~|UoF5^^BYYb9@;x3`?795XrT-m*j*OW!z#1)KiP#EHZ&I{dKxz*0+!7*!VKTu)rg>&&-h1#SQt@KX zSB=6aqS<_lX;M>a))7@>gLJT7j^)2MQcMgJKs(PSHvdX#*U*Tqgbh<7!%>0_6R~dE zQU(GriQ1wZLmg>Dd^d&XbUHrwc0Oja#zO)jgS(+x?0fF=-yBYt){wHt%W@pj8vcK? zWr=V0ZBty@v*ijHO1=s{(h1akTm5UhpI3B9Z&TrJ`7^9?PtE8&MHO;jcbiBa@^)N8^43a(~wXFMY*L8 z`FBmyB4R49sK8<C$)*)PHYX& zd>0<3b2vkr*rIi;=`xne5(W*uQR7bJ;4KDs6M{am3Oup~y1W4P0KIwyV04gk+nf`% zs8>}z@h;i(Z>l*8<)ic}AqGQGs9=?ra0+WUH=M>mjPVV!Y5qSqWD&P(U|=D|pq=1W zS^|Y~0JWRCS2+?SymwG`B`T*ilEC&obn&@_-7{d{KG07KQYeSC$;jh;>aB!z^uTZbTw19*s)&4S{ zq7p;K1!j6+5IwD#?MkXxl@+Ye5(tVB28TM*Iqu*H*J%%*=I8OH@r{WKJiGk>-u39a z@aXwRac1ib&TO8++R7#-lO>1IS@BuX;7IC4XR;Rjb1l?z%{4Zand!@Io7ve=qOmvk z0XM*wQ>Wn#DaU{zV1TfqPKZ5uO|n1?3jxD6;IH1ijvEKN`20(s!^ghxQOn}Zh(gN9 zEWwDCoh6)p>o)Mf5@w&fgYolsK({MaCWLxugy&&}v0Mg-C{`}6fu5LRe57FUm)0@+ zo+%dF3K=QKwxpb!!7!EwPL4^FA&~Kt{iwG}YdkO#WgZ}`JU3eTnaqcIfN*HU!d^W>$b=ewTap`sdFjFZMXIk5wKoux% z|B}W(h|N}btTQy#&x4+kq5+d-U{nVe_HkJf4Vwe?DmOiqH#+27*@y}gwZc3f$3k6V z5`%s4L!@0@<@AsQs`>j{;eN;ytk$;PCpQRapML?9O|y7ItZr4|R9u6K_t_8TDlGUi!Ev@j6e+pU{49Sapw+h-Mx)EjyRql;>D{kVz!vQ z?la>-I*oO#V1-sNg!Lr3FZqy5WBe$Q>@I-DHgr z={MG;N?0bSI1hr`YotizsNLNe!vkyjN-$K+8`pvM7{Zc`ANj^k#RgJgDqtbh0x${0 z2dQ?47MJkignC9%JIqG&luOz?S_{QBnhmofic|loDw+gRon>H_jF1)uHz35AwHt6y zW;6J(Ch914QMgzlP%>HqxXkQBVy{JFs}9OyT2dn(=Y`q+6qJJy@nn-21X0w4nW9wM z0~7#g2X#^^3_~YJ8MhlCQf09Ls*=U4|aXLP#VnG!%o#Phva9MBSbMU|ZJk?zOk!)5l-LtK*G(_CD?DRg5%;xE0riXhFhl0|*JC zP7bl%CKhQ-Zm%JBzdzu^{F8}ZVJivy8nG?7IN>XrX-LYNJC70omCjye%MR-sIn>99 zh%X#_3VwGFN^sv)`@<*4FY;wz&08r@V?su zOi~#WaZW#P6oKk@6AvE9LIaxE)g3AB%i=HxF9;jc4IB*n(8U6)w1rJQgU9GSxJKW? zUA=$tBnrjH<%@U{7qNmRtmqU)ib>w;fc0V8BCK5FY4cf!E}@MkvmEr|z@1`VL_|Px z%Oeb_zM^C#UHBQp_ZLdT!ge`;r2~4!mcr$W8b!Q81WQC|<#$y)V?^8J+e;ynDZ0i{ zBSK4Cgpd-%SL$3C83UByo(>EcU_+mXi@G1p4-xIyWFa6&eAV4#sU8nS+UyQtg{&te z!2Sxf!Kaj(-;lhS5Px3_ydd$BiBWR9jiLmos^=q6PK^s|PJ2VnBnfx)fY?690DLF}3C%^W2i6XXP#n`rJtem^c7!DL) zpoqWj61nHuSUJE+15U}lMe)Ivds&GbcBR_&*cITCQIop|d$_!R6LNoC@CN9RaQmY-Aa@8_MuSx;gT)#dnGkygsAs@HdNkM(@Cg|q}3@^;E_{Kp- znt6g$Qohyvez{e~A6XA!c=s03s&C#U>pF^om9(8yHluF2$$v^)3W-SDNLLd7&al%joN=MvV7t1} zV58n-m^KaY_f1o!Ln+-xjzp-z%*f!u)WwY=wxDQ^1yaf3u}^5Tw~D8WSG zoL82`x(Y~&DdGlg-s-TGP{8LLt{mw%-L_jh4hy+*pgQW*mPU-B8)PCX)Xwr5ejv=DHstm(^rZvPw1CD2iOwMp6KKJxY)5R`MbW9= zoZTX%7%C++xVpsM?l)82Eos3DEn``iFyh|!qYLa~#4+Z248a_Mb_5EBu*7KfA*FU{ zZlM}MrjEf?Jcz+xh3XUou%*Nz^E1I;03DVIJ#e|fcwb^*y*eRo1HCy-;6;(Nb&-x zVN+|{02dgn#4;+SlwczO03ZNKL_t(bN=BM5vXc?}!NUwprxUC%Z-L7cD`gEEbQOK>&=nw#W{T z#*w&i{AY>GXJyR{?H}g$ci|$&jQqN+Hp6N-S!1$zVqbZjWo*aQZn~Me=YW>Nd$qV>0QyiFc*> z8Cg8Fz(bL=V2+AonnMRyN+dm;v8q!n%hY~W6^vYQj3ew~A6MumK87#gIeqC3dH&CB zpTqY*@qM`Tz{A+tK7+0GEo?4tV0pS^QZh6oy@s_x$s8Rb9WmbpkRD@W*|NSRGZSlC zRVcQ&nu1o-vII0N$j#b(nc>$}ZGL(t!l;y6Gj(LVmXew6`$tE3_0Cn)I>+a~@mYNO z`A?vFbX|jYBAOxSj z&Y{11faQO38yo+{4P5y9M_7KvA~Q*ggF{0_(S}aSzA^UrNCb$^WxeD3mZ3kfpKk+Z|JD>d>v?+@l>-_f#S{=uFMt zglN+HREHSwIYULI!Q>Ry1i((V)@2~m5T|HKSKK%oc9`yxaTSUB*2|tn z8#wiqvO4a;o{QqP5ozq&Ja>uRT8Iw*1_hS_l;U#zma-C}yY!B`gg#4wP^EN90kI(z zaGZ?DSQKuO_lVk*7+SIOfXsOAkm9y&kFz!J0-qSM^Dmf!u@P#*fM2@xG~tmpL=*AY zzlb-@XeJG}4_KWyK%7Gfd;Qw^kDaNI@o+5;Rosq&Q9G6}H9-*dDnNgGMvDVfb?X4y z_t=&UoJ$Vvcx^!NcVbwoCq=)huV#<79{ooM<@n~w(8X;;m~TPSxT!zoR*Ve!iw z%+C_;j<8U3dom7%qC0|TN~px6W^GomLfUnzV|N!e#U@m8LBVbQW#>AA3&ojuVC6Ow zDRBWU6&{ughMkJ>F+kQu^}cZe?$;oobc295-xdHE3D|2^dq#ZMUBnv|O=>tLnN*O} zo6@|UAVp;cCXB7k4J-|7n8*^=h8=9-3?Ae6;2b@P`~B++_&R=%K7;4*Dz4LA?BNJ^ z=@56vyI9C9^Oq&@u*CsYEkdq1otfa^#PH0)yyh{Awg_dgKW-zc~EM}vN5YIVvtX0&HU$xIYmgf zxyh{1Ej*B3EVSk~ins6_c`9aSQ9V690FF5HthE+pG z%cbv9TXYQjU?Ld+oi!wPf6+y82VPP}L9t?jIvHLR9;7&`ho~4qGT8FZFT810tjLnl z?R}sy(*^G60j|(3e1^V`59?IRmVSA3I` zE4qCB5sAf4T&I2vYyvJX29X)t63-=faU1SAvtqBNDul@{{gCi+_-Hkb72kY`Z^V2M zF=~UFHe4Lx=H6}GJi3EtU;Pq(>r?+62YUxey3LR>vaJItVRksjxLD+oFHlrvD-cB> zY7uZ%6^q3J$Fmvcb%s$CTHEDV1*pdY`PCa(|9dyF`o$wq5tD5k8UQ<8~0*>eVgkr!E6eglpXLj^4A76CA6^S z;4lV@THQ?@o8cIEhFT~>3Ak7Sm+?&gjmLJ2g>Z043%2>CM?v=%F- z#w^K#S|5#qD4uD^!E z*%9`R?%?{}>o{J#elE}3=pj7D=dsP}Sj93XAQZ9#^-5>t(Z;#yT#(S=H>_pmxw#w-Q)y&{jfGhv-=sTE$MblcPr z(<-ywwb2o3$@Gtc_OY1)hO+4sPGgl>tO6+6!FA1f*$=H1QaJA!(T=C$et69RZToH# zbFyj3$^9v{Z8AI?%5ll>5QoA}6|B{%{ceMZ4l^xr+2Ut(pM8gXX}}V$zY|a^?V>F; z78}yTJ)Mo@bwNge5!tdO~q$ zzt;w#C*qE}$Y*sW$xKHa=@G8$Exe-F@D+UlzlTrZNRRJX&Amx0_;I`+f1Caip5jY* zlrQ2Oox&EaW0{x0C@4h!J*9;735P=0KDfnMLjAri)c2f%Tt0?;?Jh7A@R=zVZ=Zs> zq}r0=eTZ1dT+cW&BNj|rTPhCN7YwGJWrNm0b+kcV4Az*i!poRqa*q`OySR&&vA`h& zGgq^kMJOYkU8&Zr47On83Zv_XF)(L|(Q+TeU(9@g5?7Hx6H#v{%FJ{LvR z(#Fgjccq#=0QQrjL9ZrxNtzXFBGQfFYesL+nMX$LvCKC%&y5x?)!n%GitpM_eRe=V0ZA@8G<3+jn-*QbWQMagae zO|~2=9Y9+omxCiCHl#XXH+&;mphV(8O7X-m?Of!y5xDipmMj zpCYNl`CiASSv!xf4-+ybscl8mBdTEm=o+1j(6o&fr_F;}Y!4-^AwO$)oD~yclsOLN z(4#7ShF@()6q zVcNxS5m_8gP&uf2GoWd~Q6ENxPwo2NO?+$jCA@s|1$^|GKfrS@d?Eer!7Lyu$-OWi zHi0X(Et6yzZ$4ke{obO2*?5e-<0H)Gb5jk#*b}6HE)+T=EdR4ZZ2#RG*!som;BU_C z67JhYQn14{10FYeA#X!2oA@stEg1iUv*1StvkpZTb`6E3^F}hB)RhIKK1d^c=Gjl+ zfBVRZy?|=F_-P#mqSqzaVQwjX_ zNO;y;?AopUyEr~R#{R)w?B2P7ufO^{7US#V11!;iM{yoISi?G2FvSGLp=sgU4R5n; zr^(sX-ux8Ca+#t~aoYyBt!l(@q62vOXIi5{(ty!rU}T>291+KUH!;|~tQILKWS>Xr ztt6==8=BRmQvn1^K$VOs+o z^B^QzcTS~KY!lG~%`#=ADT@@PaR@RdPjm5Wz&wApOAq&Dj{udlu(5AYqV5S#zMwV2 zjd@EMb*5qa6A6U64_LV=86)~JECQKP+9l9;N({3{dMvbB(_eFers+**AGEkC-F@ku zr@vDnF|pSYRwvfNUJLpCMKKsNWNX7(do?FkYbXmAb%7aXxF!3zqBrqn{U-hod;+i5 ztM{zlev}@-PxA-xxB2~ef-mACoxxe!#0FNeL=#Lw7%22OC8I+vVA0RuLXa~9%6IO7 zPOpHUxdnXV4tNI8sR`(*O_a@5)a8aEf<(hAz{n_`e53ySNGu4*20hi|!^sZ0T!WkSDl;R|)H}3L?pN+dI zV#Y(QCrx4FJ4GMVw}@ft?0uS_t*D@vx{i8*_o#h=T!Ud5!8fE0YQpmNH=( z)&?w{8s+XI3R;5Tg$5Sp^CFlUDrA*8s}<-M!;q@7dp7m+ed zl$$0d!t&}e)>pT%j8!ZT8`v1O@hHC+7l*gscU8b#7x=7v8GlI6;00X6O}UG^a*SJb zABW>1)H8DfF4Hd>EYDWK;`5q_)*{P_)g<}*r7q$Pr+pdNK|z&rq3;s;rlf#2qO7n< z#>J_h4BN_6NH@f%)jqw^obE-AYO8a^!8X<9*5TJ}u>wYMhuF4_0&b&h@WTK|`t-3B z-?(Ypa>i>2`Lz|~oDBw}@eb7Gw(4|#iF{E)Ud{>fBg;~jO!Q%IUL)7Oxh8X4!{`93 zKvciH&jHx-Jb}1fIXqBJ*&yBEGUb8kadrq6t9=e=HiJw!kNjd49O@hknwiSPSrG(a zA_LaPsc)wlGgKVX95?9>UelZStUia&;rTb@d4KrKB|QDu(>S$t8mBf+VRLgETg#ia z9Vd%=Xd7nVW^hyf#Bw-BV(5wfoh&>&n-+7~Z$~J>4@y9Z)e*eNBmty0f3?)~%|@1O zIBBEtV{LY%nauIrYcJxfm!HRnKK2{<>PydHOqw;fsb&c`Gf-l~TR3C>!fPIYLX%)} z62k=qsUwbO2RN7?Vpd02;P@t-6jccLieTj*9$@32?g6ss26VYMGRiMHn+yUnpAKHk ze|Qu0ADstp`*c3m!tOg|m+w-jB|gl~5syr?&6rIQs)K^4m~w#~1SdJ9^KBktYhweb;v2jmhO2`kNjjN$ zMi@%U2;;1z08U0ihgvijYV+~K3u(?xa!5t3__kua0hnUYDkrXC_Edw8Gm!ighfawn z3i#$Zngs2v3y_+shA5sQYBi4IW*~0OGIATE%{Br`Z@#H01hYEF% z@;CAF?(2t*o~2E^4VSP(n^@yzOsQZ{&W2O6u?ycnwTNA}MirT~`-dx(-Pg^O+hU=P z#Xw#11W^{{

pJM`)%5Six_VYE5MTH_3dEu^lEy0l)~to02j3_+;d7)I8Ez079~@ zXx5b+csiJ}+0!VKKAK#BTK;$c+Er0pB~?%qau2HWijl*1h4`zFq` zU^1&h1B|HGPyU&BT0_ zn9yM0(J-dDUp)sIF}yo71-|bT_`({>w+_Kq=HRnypr^Nh_nwBHTLKS5as?<Un`#4I5}-~A7;N!IL-!pZg%sP2Q?a{iZF%E9bSpN1jHQ7DGbf?lNQGF? zVk3$*mj_;V3xdz(cNDeZfGvdDy&8kH1nPRt794^|@d*V|GDH$4+}&Xju}w{RBP6*z zk~q6dTARrKSZ2Z!5w8>sJ0sOcA+%P3Z<|3taWz113y8?TH^mkZMXCBFl9yFb(31on z8;Z6$qXfLUoW~0+Kx`uK#liaeI#wr}m|__#x`kCag~x~Q#iXp<_hG=U?&CxHNBC`g z8ZYQoT+`dQi+$X#yEq>A!6I=@T2W2SkSp$gGp~`44TZoC^|9N%m<);Iz|qzONJq%c z-alX-ov#=+K?~)8Z2_9J57OxSnZ-^4cncbJ^ANL^X6;RFa6pk-;T2(8R`A$1BH(_t zC%Omyt7!h6DYp$@y@Myk3kA{9d%1Az2C28AXRm}bTv&5hA>6=>_OlhAic^RbatzS2 zV(o&gq1Xs8N_1Wl(J06b8&e-y7h4VYPoaxaDVniK=7nk`R8?R;&T(9iZNtKnjW$6s zLBZf~DskW5T^!(w-odx%GCoS5$MG9P@O}LJ6F7hB95&atu(7d;t<^0|CKD7V&`~dc zrj&ztu?39eU_kbbFP&T{3#t#ZI#q7&Bs?Cj122lYQU$@sa2dI0pP5Y7%StYusNu>2 z|L21PK_FbddL1|JUdJb%{WxCS{RR%_dpS%~8k5G(9@l6Vfc#)H0VJvqQb22L!X&qQ z;tYe46tg% zMbLkG5xiN_l@i6J`ujm)Rp=};;#BExUH&G1_p`r;<8k3JXA3MAzF}Z$(P^Skk2Pec zwnNy@y{6Lf$36=P(NHABR>y&m9ng`5azJ4cMa?ZTMFZ2w2R;nY^z_DviNyw~&3j88 zzlR*C1t=?N|C&joZZq{WiY##@spQJJ)mCkQSMuUX(M5;3nuH?XTbmTK6fc%0&O~qq zjDZWyZo{EQ@pHL!5o>1A^Cuvp0V`SqnMy6>5DMb92ru4WYXYU(!7o#sFwARH zlG%`C^dXI;GEvj=A-=6=hZDN$G(7iOnzz3OmxHqrr_8QzlG(I=IIn@Z8!-o%H&o^5-MaJxf^v*xaum!MhGF5G8mw#^zTYL~<;R2j4c8(t00G2x8)J_ zwYm===PWqH9Jk~)UceQ6h(3;w%NOrSZ9SoaAK`c5-=-hMchQr0l+NKS?O+4zSj8#^ zA`Ffj+v1kqG1Y3G@ecfbZT0-nId3PNNgHGespA1gc%S zLNuYdv{GkhG*OT@G!IfwMKD5ifJx@h2 zbOTD2(P{;kQffg)bVfe0ps6u6o<$#;Q=4gLQ?DV%YRq7qOv2Grg;V^w7GD+_2Wg$9 z7`iD?n`G2~x>8un649_pIy`ttH_ww|^7E5=&wJzhks7f2XKVqh9UtILQ3D{R?k=5* zhQ;EM*kKQC{%A5N>r&NeytOH>Lcr(GiXFzo(iB_UJDA@*#tes8(^Gh`ycHMtNxW3Q zc;8>|u`ck3_zc!*8AacPK?+a^tBWZL5hi8LRSyRG%k7zOc*r-|gosXR@n{)n7SUzI z=o|!Kwt_@lW>(^Gr?3P_V+shPJFx;u9GU~Die-U&Tdm=<&S7`ZMLDOYA@_}GyW~XO zW{1gc7Ixn!=LRY~bmBSDCX8?yT4{U)3EvWX(_fvQ>vV69EK%y9T=9du$DTr(U#izL z)ZNZLdbk9@?TNPfl^CvNYT z1k|l~T#}BMV*zo0ze%D9-~mGwtdCO^nV@3C0*XV7*u^2P@h(1$&*01Q@?U(S$pvqH z@U3|2(mSxVx`mCkO>A$R!sg0mq&PWUSS@GT3qy*SDOdlP|KEw=-G+%0rsP8si458} z^tIcHwuIx{aH5f$H9XTEi3#8084xFYwh^V~jb~xZ>Krd#c?n;C`FVWig->F2Yl6eq z_WaMKB-*#>bssxszQhY>FW~%zi@13HBDer$nBd0En>aq$$4jrgjH@@Vdt+f|9J$YV zp>vF*V2P%flmVqoP{fiylq%@?5zGJiO|0*2VehBcZ6g^oxX5+x_BmnWXknC$x;+8@ z{fEKd9HGDRniY6Op=0E+`}b2jS)@P1@!kKIANwG_=gIHEU-_=T2C2X}E-+o1f@}M( zDJfV=lhXU}s_E1{Rx48+&>5!k0!ev&%JDPz+lIsm7%iHKBVAxY+x8U(i)~C*oODiM zFR1OA_0P6A+a(2Up^E6)7YOzWWn@ywlQa1Q4eA)plLk+OxV>(Y^iRj&rbVhY6S;=^ z$)n$@S2)r5ljkr)3UshP)3_F%Uyl~g+Q5Zj#jz+-kR%sHpty4DDsJE2#m$3Tc=g6h zxc28r3s|BF-ib%BNvl}FGA1;!@3|N4k(*Aw#Z*tlh|iorn7~Q<9*Ks`o37@~kA{}b zHWZ2&Zd62%S=EF@5*eR`gQVMy#j?yQn~dGL>^28Ik#C+^+T1+jCeZUc(>*Xb_zc=THCcLdfwR|P zB?qY?oB`X|wThkhT3T`sIhd89?e9yDNr!rgGmE;xh^Hb@BzyQUl0eot=l3Dtp`jGi z^tW4Bh`PX0QBX1sgvGyCXfkDzU?~KQm~y7XArum^sM)k7pc^Sl7THA^no#;K3NW^( zooXw=o(iy38)TEG;$+&C=GHZpJsb%k+@csEs19GYzSXy*p5)}WZbq!y+fn>HX$nM+ zNW(~L%I`s_G!!F79Lq88$Ud&U`}zq22-*%+Ed$DjMP3F^DnpzqiKtq=BDZ!vUpJzpDg!BT*|IrQ%6^$P<- zTd>L8O|gDnbG*-C?=9>$J5#5jSmGH4(6xFR8VG|DrZT}wS;FbnEey8@jB@WF_D8tg zVBu*k;jCfAhp&{&8h;PFI#sm0uec5F;HpUsk^sv{Zel;)H&qj$0`#+icp!d4(n4|Iz89DOUtzVbyhm^Y2p8; z2LW51H6YRgCOFAkx&Oanf>?|YZE-uC67i7SB<0m3y+Y=xIWe*ag*&g3--VbiEn#J4 z4Tt;7Sm$lb>sh>w-;Z6sjD5Lr-(T{+9^?1%r&z}_mUsz+4p^Z9&;c8D0GDZcYSYOl zEo(bAiqz+8cZe2oueqv6vIX%rkVDFC%I$iupqsL4dKm*sWQ1{n3ZsN4EqDNE9!IdA zD1ZyNlS775u^U?C_|v>S)?|45rGpm--6WdH8fPH4Tees>PnXs%cqfJ@T%jSaBMG95 z6*tu7hEtm+<_1g%gSxy_ixa&atfbDT2ry9}H>6oD2L*7S}p57YicRAIxjNUos9v3FjfCcKCfhp)yQ%XViVwlG+lYxu zyOg{@6()#O=ZHp~Yy$L=!ddZL7H=axm;VbV9cE;;XOXxfj2IkA3-% zF;0$gIGf>ccIe>719N6MgAA&+v$c)y|IY8nTc3Oio9kOBTnxG|ZCQ8u>J@zD z8(+bT-})wAd*v0(>uAJVt^T?y7MMXtMX3U2#z2h0RSomwjm$9igKgchS<0F8S@$|FJ}MQT;@}O7cReyKl;)i;YZ%}qbM|> zR)Nebh4OQm001BWNklWoi&LjprzpSCnZU0eVsulV@h+qW!F+!^7B%kBD8=h_4}UR?xT-~Vs7FzN zi?j`=Xj3V(li)k=B^R^9{a@6*S*)ekb?5hAYk%j?b*H*jtck@@q$p7{HJO&>R$8{Z z-Q5Y01V{%#fJWXL$YWkRu#p7FL*DZoBuLOm$L=_`VY@B2WyzW?(Hulk6e$kHnul9e zcR1&Kd#yaIVeiWrh()qYnt&jI;&AUd-?#S~{{P=U<&sc3+u7^pG`;A)!{ z1yE`dzeD(#G-#otV6lu=4_*mFq$W7(^7U)Dyn7Y9dpB`$_adh601|kD*6|q5VgoB! zrX@_2F=0!&iTv``DEa5=KVM0?sh`RjTSaX^j+T#Z|2vXaI;8`Jw4c(B7M8V0C>D)~ zui6FzD&XLU_;6Bv;9^6(7URb=yC!w^q2R7afWpWWayG1R#ald+swm1B!}bvMz7xBv z%Y2#IqCu!y(-uI+@^%t1r7N)|T}azgs312(kq9GA$zVT2^{8F{?fiQXo?BxQ$pc|x zAS7oZw~($-)v$0OJ)HhN#z3+-Yrxp(8c8)?&p{fuA>fbE{Hr&QkxF4RVa|JSbi1cl zGYNJ!#g;E0Bt8J-z^UXAJ_bGojB3wxsy3;6);dK@D5Ly~%lK4qCxHS+t(aoOUD?Mq zy@?BY1z*=6Vk*=3yp}#o+xSoEEBHK~z*(HYao)rRAH%9HVTl*a3Q*B*~9N?4B~fkZRM+J9X!ZPt17sCuLlA5+8V%Uk%3zP*6=>31>`~}KwusfriC-^O-Uf3 zONAtWtxctU6Xx4vJNzZ(a0q#BAuO-1U}<3u3%rIk+QE7LC_XxT$^6Ri!yni5F20Uu z@TOkHRoupP+Q-dt7klF!$T-VMbVy2t`DpNqI1DYM#6IDVjW!`{iIfeP#j)9cYV1cn zhKO^U>04&c7}jjo2KVg5WWG3TKpUk|JO7V2dlEkAh@aAy39lh_WkNy0M6CHrhN$~+ zIVGV;sGcG&CbcP=bkSJc3c$?hE-tqXFK9%LMMEE388dMsNan&;WpKFh{pV+nwb3#<-o&=(U`_Z43NOoU-o$k+mI|8pwlpL^>NLi#l;EAq<~7nWMRNC88DQBGiT1=mp=PT_|ntAjL&`k^SJN6lm0j+ z${$rK<~qlyGgLLN{A{eKY7)`m`HIcozKh}InKyUAEhw2b(zF3>ERaJ~DDcb2!2j{4 z2NiGv%PLX@@Ad;p5^oe%fZz|m`+wuxKl`@J94lt^6d=t28;Yx$ zYHkt5A#Us$?8XL+=PQ=P-EWM*86q(PQu^({B6LCwhV??L#e*z?+{u z=UjFjk$0|AFhGCrd2gvLafZXARUs|UJer`0vm;M!p-9t7X*Xwt8IpBCdA7ls3+Y7< zDY>*qkjAh(H%>$^Ab@`YD$Xa6=14)$?l_v$-3KThigj?pq!u!Kb#K;&nJ zTYN}k91?M^wlpYYs)5R|b0!8y)Jy6c;~>}oWY((6+>!2?HT-^`^5| zO1OQAGPW_)iPR;ckRxL9Vn{>;iDVvm`+Zx37#lc>fwneQPKg00A#skx6fQIynB~8W zAi@xaHRJxyCI?6C%#s+CdlVyge*c*Fk=S&IeY2L9O_!NhX~P7IG7d?;_?eAN!cey2 zzLK3U$_7)*MUgrz)I|l=l{8{=ZdbMV_vV9$n0#ue7@fC6-KIU%klhrxQOb#ZXr}G^ zaD^XL2OmdtwZHGSKoQ@#$GM>S{4%u!79qDYMcS)0xqmDsAn+JhMNUY<0z=e{`!Q1r zU$jQdq>G~S_wWs<^NL8ve7=xeDd#b%wlpGN6cyz*NJDkDkvQB|G1n1u%yF0Ya7Aw7 zb-98+r61y_?}6IzNUcEyPw|KFU(r9sm+0eon9t&DIf0$Bfep4H03+i-T5PDp5jCKe zM8MVp=$E!3A6fN*urolInhqjiob22P1@Df42LQ#Ls?@PW(jMY=)!Iso{LYaMB!5h- zJ|S0^4q__HG88PAWh~5wmh^M4cC%^OZNOTD5=U$>F7X_ypABfq7ZmlWW;9rcc#?%u z2yWrBAv-)lM9CMz+ARoT_~4%AEdz_5EEW6G(k)is~_V)5R2jj~PL z2BNaWG+8I*Gl#N!5~P#gDtb?QHZJ1Fvv0pIzxykA z3tz(zFwx?`CX3xuQLK~=5KS_lm%XqsN_vBRDcbbb3L4)siKZMZWA>C$QSI+1!`Bq5 z4$JXq8@A07_kbve5|UqDwq&g!F81$q$$EeeLEbn8$S>5sRnwyfVc#P7#qB;?sz@rd z1QfEg?Ns{r{dZt(3twf)Nwt!=M6$Simb>N!!Tp1fjZsPfelmTHGA7BkFYMd=riPH9 ze7p2`V5jveC8)>_)|#^OkSwt{=OCPkk#0c63khuTy*j(SniS5%^ zTUo=vrID}!Q1NYud%Oc`SR#f7)KU~YMT3gVyVMjxRDvJD4K~;TH$h!CFl(v@!jGvG zThw|)7935mdVC@KMoNodx}Oed+7i9j`&|0!zbE12>vf#4_2X=0D@X z2Oh!~KmA3VJNtTt5GNH-{ z!hj+s`HW~x0x+iv{q__~f4GFZ|MgNA{-pW4=ae4}h8g?}g+dny^e@kVesmZ3?$mt1 z#eBL#ZNp+iE*k)7^$k8N-ne`LfBeHg!sj3Rg5{A(j7aH1gNr((*a(-DK0v=l!hBW4xa_yF8(AS1$!qy@f(>rfH|kP64P z0ZPl3Z%Df6&{$;@FMz@}60Tm2Si_JsBmW?f3dDj?OjT~+Yfr3<)t?IP|T?&0p?UF=Wq{=#R+F>p#XCGBCN-AX%!b_H^r4o%kH@=GBlLf_+ zVTz<_fjX6uHEOXAwf8|i(Ig?c-TjnlLXo(^ZdVJt6jg6(krL+A^hg_y}CCM1mO{CWdI3ecUU9!QR-d ziV5&7LBi*ZHv=lDgf!k1MNQ<hBz91;3jZo zC81NY5%kO=@aYZcxs_ywXu=x9uGSU>kxoJi=#5$4H6=ZFHff|vpfOS@G$VPNUBviQ z)j~L$y|=fbQdl}{*f*fyY&n6AvW^3}dhdENn);p9hR~FN*^-_*BFd$dz-!i|@Vh}O z#IX{Cd&q?`$j4h8z?0GAaWC|-<^fKP=QV0;?~gJq!w0kyi&F+9 zic(Nv9VSd=b-?8K414F6WaDQ-_3&P*0`B!7V7;>itN~bZTL8bGLx9xkc}!be3N0Qb zVx<{Mqg~uy_*d~o-wxlW?igmt=*?1fe44=fS znxGJ)h+-lGiY!2A#HbYqG{Y_I;R<%~J^UDR%-;30yt=rCPd@r7Y;Ek|*y=itZ|~sL z)+tPAVxGh(!bFU5z&3nI9!7ZagNBZl2BGdlW#6#JGg66DlBQX#daikwG(gq-sam5r zmG=E`M<8@Rw|W#LxAh?yz)vo`ju$Wd1V8!tv-s)jFW}e%TUc0M!ni*JY6VI$3ipC} z*&r3fj0ev@h)+NHDIDLq56fE{IDPyCPM)|AWgu*y*umEb@sn+^HMD)1lepnm5<=CmujAGL#X1#%Z0&_H|c|L9wPfTut4EBN&%zY3k3 zr;wSwdG-7aEo1xO3Yng-V5@T`NB09h!nV*=roni1{SaK~m6d?XPmhR_w zgm3(cr4NJNJrin*9aTepjmthXrEV;Z|K}9goVs4;ou|ZOQ zUvUS}6Y=lCo6WSq1-300M{;ylNKT02U+v#uafH+o8X~V9&Hoxr9vqWvk(b;u z+dF=a_`S{Cwprca@c(v^ zf(gKjCegu&g+bK@Fi@Zjl>T7NnqHSPC@*alHG27wB2ahrv+b7DIm zvT9Eu3VuW^MYNDv1v6XRhH(aV^;$_3qYwVr8|gx^eKg57Jcca4`%o8j+2|yc3oK=W zFcxiu33l#>__|cW>Y~wf`2vH0GTH)wn#myt2@Qnk&qb$P3hRM(AVkq>>Y@1b$(R%Y zJyMU34Q@zDJBR~P8K_e1xd>$jRa7=Rz!kZLH{}ZcTz`oFP5uOTW&b^^nLkwS$1l;7 z_znFG&eBP2(GGDMNBYY@W#7=Jfq2u!4DBZk1_PIW2hfqLD?8OVvdWW#0HHG zM%g$S0ZPQ&o`2@zk&w+EDu?#`6!svQNP18LC%=T+7|Z+XIAYTV>^2W}wnY4v_p~p; zL6ZisrY(d~?0Hkh;4o}bve~Cwc%uf3sw_d)Bp$ii61B7hNZYwlF^ptwN~#dS6rfZ^ zWon!oWDd9wbp3tdE?LU^g^=-OQdP$#VrLylu*F14O~SOmT9yfujXCZVC;tBWW;E#^94dz@gAm)vXS z5Wj$OxP((HC+H-seX2>hMG3DnxqLAtRotekRX=W0;cdx3uZ6>jU0+9u;`uA^*enh|_ z3v41lY8xn$n_Ja4QIU3m-0+%r%;KX2%ueP~1`Y1_^I=smI$n9>4ZL>!Rebx$e~v?$ zVtE{~N)sF&`o&qJK^a{_t2nW}gC`z+0w?b~jRzjMA0PhcM{(lheK>#rS*)+E0>voO zg~Q^&Xes6&$EQF08GP@1-^Ty(zx?mGdi^>8!T#Z)E2CVVEkM=LpDzkcsC`y{HN(=s zzJ>XJbG-9bXPFp|;eJBrEsW%rkG^ya`uGC)r7;sNB03LV0I*Upw@tXGVh` z@pvK~U&Qyo8i^Uk!-;LQ3bNS~6yGfSIqBPcC}9W=Of=6a1K`%6^^hlO=QNVTz%Ji3 zuFKv1ecar;iK-Qc(?eXm`PMr+KX$N=H7sG3m$ASDCY7v05rLNC^KbK=2T+63m+Qr; z+VDV11J_FU-ieIqkV-G)AXrF=@51Z`i4G(7Mi_9XLv{!S1aB z$ZNMTMcm>LmY68QwS#0C_>mhkh>hnXp4^b&xmW;b49xu=y3bldT=wNUIOxd?^*Y1T8qS?MOQgdF23T zZ4@5VKXNBq$kNKvWH^iHbd);+EdUrFsoNk=O8b`O$ke1lZtJe40Ou zFVU0u7#_qqI)(e#Q~--u!U7E#q_|ql3_@W6YKjQ~27*4ghWe3Xpz|vZ6%S?rVx!|8 z^Tw=7c}Q%XB|Pqu&`I@Y1yEq2MN*SPMl0EnP)oB{0Sr16XqD!IDv>BtZQIGf5O+ZJ zIP81cFmi6V6wO<&(w;HVjzzA1F0dx#Pvib}#Xx?x5o_zyN9}YcVZDR80w+0e(iFyi zPKzh1Q7CY|(2s>(t-*&PcbgKZh^I$YFcq(HkT7UfcI^n$0Pv_h6fH|klMN8g9qR4v zW!=2-uO@Z;?RmK;{)~J1%`UkjAkqTD7EnGAiU1;$ezHY(fUQZAfX+nu>QNkIaStYA zFA;-8Ig#az!)o5L%orXBWhhubwuMF7z#1RN7M;Y0%NMc6$KSV);85rIv-(4PmtMr1 zdIdkn6}*DWxH;a$v>rg}2rZ*ec>O~4jT?MI21Iiolm4J(s)LQV`M<uc)Y!b7Ji z+XYK*XcBU$niIqDjB@~dB5xTLgHxO}BIIHe=Bg7;d9Ql@x=VqBU*UihvcU8Fb3tF0 z@aOqN)Z&SKLzt`r^Q%#fO{g?5Q)IVFNS%E9;%Nx69I7&F*1^noX7>eJfi>s?gevBk zVPB`XNq2FDZkZb3JzxVobn;<5^`Xz;_}VtMR=06(`wX_$w!jn4NJT{>IBSr+eY5A< zv3zfv-h+L%8q6DQs+RVRL&M z4?Xk{9(eE^Hjb@>2b0GacKOfGMiYCd@07YzUFbxeM^51`M8XEaVM(C?Zg%YA$9<@4LX|M&pvnE|X0kP7%` zC{Pl2shW3p(`P9<`;7t_rn~)sFIya$q%^PBSDi~Zv#!M~;4=TM6YnYET5(ejmHz`h{ zFHMbF_9A>pZEMH#qXX%vViXSw%_vY zDeUfnP6$&?OXtYuJYp>yhoFh>=;$U!TP8t7Ua}8~!gf}qQN{Bqp*D=Ldsh4|l(gw_ z2pFUrz6N|UzwZ{?7n8pLGLmZ@Lh%DZE(%zsv4LWk7GPqvXi}nJh)^ap1idg82pSqk zt@-&RS|IFSeMC`ivJ^ppi3Ngo9FSN{RMu>!IMk7YTQ_R30c-Mj3HF)7d|HX#4tIOxHZ zR)6*Jvkqis@@Is?yG~hGhzjVneejzze`e!5mxP$gqDOsa1gCk?xjSPlEm!jZAt3{7 zOY^Ui2FFOdM*ZHlY!y>XaXX_iBjF?Ozu4MKBrf?oQQPyK+jjV{FVZDQ-Uc7-VSw$= zgFQ7RQh*|IwfG=iJoP0MFk$Hxhv`zQrNrw6={`AIj#Br|QFo6k+40T=;K{&~HI~KW zBlgY_=|UvR{(Tz+tT`8814q*WhWC945GQe$bF0#}tmiTlgBD!7KU} zUXzP>xxRtxxPd88Ar-BNM0L+Iz*KXhA6ta#o6PXhST8O4pi{t56dA!2RY^|td{AJi zYH|cG9-Fe9ibfu?N@j_twAw8Qpr*IYDR}G+g?+NES=K~8X*7h5b%gNhinIo)fs7#@ zwt~tVK}Fa%-10!08P4RSbCRG_E9Nv}6f4Qq?E)wsv&nX;EXV{5!l;TlM%=+3u3;C? z;b(YB-#x%*b?F$Mdg609y>kY~w~k|H>o`vDoW|1PVm2VmCMOqea<8;Y=%pXy8_)hZ ze)8Hg)*x`f^5PmMlVyzaXl*4FT`4?T%9C-29xW5;k}YZE7ScCfv(g|*dH zJD1w>FQ@4JWLEqys6;q-|3moFSH6r%DOeZ=o8k&mMp98BI-+J#q7Ip=s6Rdg|Ie3! z>$9$4Zclp~18Bm}r5@qiZlu%mnDNykt|fV z{%CRyiVqw!F030`sKz(xKYu|EjF`0XGBEm}fH6u))=P6b1Rb0L^u(wj+_-fMue|v> z_73;4w|57xUwIYt`7drWIz`)flN?N+?L-we+jJb2mDCO+Sla#t`Ik8jBqZFzh1F8u}Oy9UrOAyeOIOFkS35b(S zt3W~`0WsovCK1GduBSe64$4_t+s71kPR`*Nhcb@X`3s(Yq-+*0YQv6*fve%i78@dn z+pS^{O48avK-r8osH|;xFXgM{}>xBEC>QivNN=MrG* zfIT81)YdePQX3n^rZH)w!lgst&fM8PK+85(fJOtsqSbFPh%t4kL%pj5?jn{iQ@8xt z8El|Y2e?fI4p+XnZQFI+ zeMb!WV}O=}a#!D=hK1jj#c@OiG(Doh^Bhg3ucFjeQ%lxB(tv~7iRhJWwL@5d(#n9z z)`Cx`pw@O%&0+J|bu_K&Cu5{6hetWt!iIQBZ?yHlaH*4GDp^F<7-$D>qBL=fzq!IIR zirIW0b-IW7;XY=EGt5;yIxNTo*5GP*j>F5wZ73qz3Vkpzj#G?o3sCn;sK?L@)@7iG zc_}L@4rm{@a0i!g9bd;^;{fk2(|1xP_`>6##}oHIfsu($fE&FC5GJ1ow?mPviXs#o3**^P! z|ATMhg$qCS!dYArY|Vs<%U(x4O5E#M20`zSZ563+oc*Thf@d$)t^YVCQ9VAe`ZoC2e4ob`!FM3aKEi zxN!L*-neoJxA$)2@~um_e&-ig0}NE~2+m;#>saMAEMWnImK@YdKAW1LJj#2Z5iSN@ zNX1}r03f5JAHVrf$=i3$NJU~KtT^!i6xM;D=fi!#@mesrcQi#a7+XeBm#b?_14zzG zG?J3}i-NB&DWMIH?~D9)!Lt(TDCKnUpA1o-Sa-QkSrB7&Q}MPG8&b0s z(x|yWEE0xw$asE+y$vNPf8PcH16o?ZI)D{?K+*#GK|q3Uycy$`9_c`sn0m8I(J7^5 zA(__Z(sVg@fR8mVPzEp|0u6-4<%0FKO)SwCR%i#Sw2jA>KaWLTd7nQH#WV6U{tQ3D zPw4_)*GqVQ{!_d$e*<^uE~YrdNY#pdr|^d~&^|6{V7w}+s)#qa`Xw4MRD|Yvf^hok zh`sO*_>EZODy#+rVsc2AUvT8C0Not}a`Td5E3uzGv{uml%1uM?_5_ z8@7xx$9#T(!~H$ny?Y&Z4zA+%!FB9Tcd<9$$Gpy=)9R6IUI>O#L!)Pj!?yQNAvfN2 zE*Mp^dCNE}kGBFV7L_nj!bpUX=eUDIT*WTFiL$H}L(J{}Q+7H(EA05oYs4+`4`hB6EXdMPV$! z_SzPBG65|NID7sqp8CvZasK={&%1R=JZbtdr5@c{b&GbF6cax3u_y4^FMQtY9%Ts= zp0qQN?fn|Vhp6J*346Ylb{YKB!%Uj$gtIsrwDlaS2!%7>O+i#sJVhkL$$!V^4JhM}!Bm0i?)> zr&(}P0Kn2UlZ7NvM2Z?8r-TKH>}*c%Li~O{v}NCrlf%oz3$E%42z5HSMx>`#TN%0P z5_0nG?v1@$n9cWb_wY6@-n@Xr!(SY@dq0ljlk^BSX$8lyhy}I?P4-x)5*8LN2|N^T zo?d%f2MjbcH5mDTDblXJ2{cK0SlBefH|IX=^*dF`plUJg;z%6u zMx7;w53V%mw|U${Wx}S>#zINj_I8AoTilJS&6L|S5sF&k21zufSt4)!Zx_EoV4BCgw~w$!9|&@=pP+ z4o8D8V>Aa?;eQqqW6F@^awi^W4wVvXdtQVRP7G}ejc8ybJRjkS_h~|gEBNPcH5z-? zx(%4fwcU4z>n9t*% z^FPE_60xy*6vnmN6i43ocZkUhEQ+rB2jfvIO{>Q zEiINd&^Qy6|9s<_l6Pqw z_naO!PvWF-}f(;D(sUF`su-7*+To3y|z(}bnm27Bf|12qP$A|%{M-x&cc6ic| z4{Aw7selGjEEF16nHG*8>h04CTKKJD9dy*>@3e0b_uYVxo-2`4XxUDowG68Fndb0WUWxZ zKKLZIH@301wt-U{r}5CaN3puFl+B@b`LZA~U|_KvSSgCCF8AV2{uvD-9mU!m1qW)A zv*ejjQVy23B8_O8mH{7I11{VKTn6h{U{La5c9cLh(fT|T`klFyEuoyC>3Zeq83c`r;^?e-vO9d9WZLvC+dS}+@eC_SO zWupLJ+<<=j(B65N(!*@nR(vM?zr|MDnNbMOy!<`v)!SGewvPe{v)C;@?QexKX^W`} z04T)Be7Es+{Hx(2s6}H zDcP=#Ln0=DrV8-T|J>qR-PW`PiwvTcn$XP<6g>wGy01afjT=b3E(dx1PN+_$SyFvBV89Fb~KuzP4UbqN{~Kc${B0(MlU zmM&#MQL4-Kl>n{w1V@}(7L+D8xD!KHsuyBFG;`>NXBb>&o8Y1lSm2j);` zCC#YFJhL4_7xs)c@QHK;$JJ9;U!#+q zXVc8YCLf3#TL8Ye4Lq{!@3z&Tl8ULuEwYl%V^p<8Ka%qm*s?8~T5G?irGN%BkYF_I z{`~3SYJg0VYD$kvqupU)Pf|Jpx(&*{96=%3l53!Hj|TyB9MBCM;x^`(Vu`8^^kbT- z)e>tu`4st5B@$i;ZHSyIJ#Xe?0cLTY#-9)h7K(p&L< zSWX4K55b#!Y3~B*(K9zhZ;j9834$U_%oCQfQfRUzIJ}=mdR`0m`+v;`eGstuHa@`H zV*}rJML>huIHi-RMdx(TC~}G?5pd+&WbV9fRtO~0#-&}Fgjj2sj2c@o8Gy~rW0=nN zF_m>}>M1-n`4aZ{8h(EGllS#=5fywNKgAt7z^C+4JXX(PfBygnG~0WqJj=KloX^a^eM>y5)BJd8c7ZaRKHy8 zyO3rbpcvtH2cUQ%7YPypR*Az%yLcrggOo(dK}HB^=SO!bFgH)6lD4V62F%DLvQ-s> zCryOJS&0n3)~SX?fjZ7G)hXulDdu$w(TdT6wJ_Bg_AtX8J-}`3V?>1vz-vp_AS-kH z^ZBnq=9GuX4e$U8|%xfIJI>Oi^BrQ2N6+XGZ88?s0wtjDRN~6M&~wAgH5TI z>f#yHqUN^-#g~XYsjNW>6%SWK+RE4A!SF4 zOvoVuKJlq1@zBE$;pLZJ0YovaA-f%tD6bwvW@lr~@^JjY9u~iUfcewQsSIdXt3Di! zj-ZKxM-LQC{?SR)e|-abVd}9yv58?HCUy`kB$pAWgcn|U4llg&EWY&NUum0Vn+9e) zoPWLfS!kcV-W;lFHL6aAChwlo>rX99Slp8dX~`m?bW-&pk+WvfsuF{_yl$F=kkvDi zdx^F-HHSK#I|c;q`APp`^{C>Assy$BjzQ2GF<_M0AJ>K7OtB**leylCc*oGA(M3Xj0pzFX5(CQOJDRkv_pr3KQx;d>*qF-!{ae5QQXDb~Ms& z&<2-?O|DOw62PU_)sm~9$U(x~jqsSlrr=6Gis8SYr`u~jYqdSdabLFMv_TUiJppY< z2AAE#?;X;X@Ifx=PsT+ypzMP!jTYA9-m<*|GedREvQ?ct&Y6xBP((&=_l>7JhRPbY z3qSoU`MFhs(w`$#AHMklfJ=j=Igly%wni#fXD@m)mmKt1Qq_!D4t1IeVJNO3kH|p3 zg9?c?=2SFgNtXZ`Zj2e zISz1$>v9us;wt{U{uTah{RXD`&g_P#c^kh*pT*PqF`VWTIE`(bq;;&76)egG1234{ zgd#rK(t{YG3T(}>t_;vGZh;;`v`dqx8QJPnyhI@;EfWSW6)ddJbniTdx}sWc z{e4jcunz!Y81VMAfWFduAEof(zIKx;LTu_>QnFRNKs4}Q<}s6ROGG?x-Z%lVwK4d2 zZJWec6?kF5M3BN*T%O?A`X;6~_A##q7-fzphp*u7k(O-!B`LogKn+n4 zOHSoO`X5n*DL?b=WvC2L!j0^?qSSz1+Vwb=LF^JQjqnbeICGNC?T}g(hY<>S|kgypzhX8NvN1(UT2t34>6M|MpTSiG3p$1 z%yEbj`>0lQ@{jPfXZ|RkXO2j>Nt3J+MWiFJyu6C7wGHfS z?_gzp4Ua$e5ln^!OqM1|G$(QLd2WThQ0ulg=;j&CCP4Ve$3Bi<`SO?X%Bw#E=7a$Y zm|<#-n%|}~6->Yw#3|y$28nv3V)%nS%${EB>^0~vYaID=M>R1FLdE#yHRykF9OZww z2rf2YW8ZRuoE*%pkr359=P%v3j6eO+ALH{M`XZLfg1xUEn-o4)@~BhkNbV#)q|{)Z z#Rp>m&nVo;8v_X0))B}Id3cHm+=^f&U-*-~h;wTLGfdiv1{#$dWJ>cfMulB`t1ta? z=S>HpNwuA4!4YwW;+fZ)JQ8@r09PYK4mf${ct*%6ntwY7IX&*NDVO5DOM-cPW^RI! zb~Rda>2tfk|y0a zE?k|vApIF<&Dl@}uy6zJMgDp1)Iv&WZybigGeO)Zu)wg_f8! z$3RoFIyJSTNAn34FpaK%DxS=QRNh!xjI@Cp6=PF`jUs=8rcCr$qh>u~@rYhZ$ePB2 zt(Qq>ohX@R6fZ!Ex=9+W&9@W=va@q@ii!iBTU4Ol#1G{q{DFKM*Yy{-1`Sm3IG@8m z!WZyad>E(b1WsTb$9NTMw2UQPKpE_LGk~I7{DMCtF*Nm;bW(s%Za^P92EVL`<88nLsZNhOl|{FE|L6&jQ3OZyTaK_Rob1D>Lw7X z*VXKimEtNLLK|QzHU5?`Zik?x6~>{+Q4j3 z#(*jbapvs^X@QnSrgDsFIJqY`Pp3YYz}wRT-hVzo7Ay{+ z%jQs1vK3y%*hp)yB$XbhqRm^a(H|0!S-|4*TbBU&T~!8PZG9Qj{SDN^Loap?@z`(` zx5wYZOsDVrXEfCj-@{LEiLT=d^kE#xJ}%F$;LdOd_tR-?U=zza!2&O4!HEu~6tXCF z2#J3J4T8faY>Nmf4dSh`ZHuIRFHtP2(~+sm?g(aA-u}VPDjqgj|&eo0;~GZY?lWsrR+}QaIR(_k<91S+z!p;5C`L3 z)cGMs6-+V16muM4iUZ8Bk12Msk2^TPZS3JidL2KcpW=CX4SRJCRN%g)V|a3W)IQfj znFUWyR1WE>1`IADP+aajmzk4W$J8`YlAZ~J0E=}nVmwtGV1_%`!!6y#o4EF_pT~1M z=W%N147QGKVts7`J6or*G+FY!TgiAy^XO~ejk^ppB4kQhLWl?3jzzj(I5|BUF1^)i zkxeNJBe+xv!coI|` za-$%gq#t={X$iy&*gAOvC$@I5y|e9>U~c_2Q-T631q8GE*}KLy8WHskF9CS;@kdcm zFc}yNWo{8p-GLhNWQhje6%GQy@K^g_g+){KO=BMmawJmlsDc8lC?8)&A;QRN+v#FC zziHJlv$?_a-2NecSO3M2zky4)F5>*w17_yP&9{%`*vY_bQsJ<~1avRpJ{p@q^-Z_4 zX2j*Xx$TUprKgfe6dMF6SEGgd^J#m4&dTpw^iZ2YDZhheFYSD(ks0sO+f;e5Dc{6B zjj5z^pEmhm)A0$e26FkaHjtsH@lM1oVDK}%X7ZaR<3(Z^o>2BsHu)V{D4#LafYikx z!Wu$LC-HYR$LnqD1kph5u>_B0NEP^>_1U8Fk8AZ(gBA#r7dh(o#r7=4+8jNjEv#ZZ_2 zMCwMo0}WgnQ&3JRyo9QuQnHI!ki)&$%&Mz(IMkrxTVzit(1P_1G=HzCh~gY00qJ0auCQiO zvF~1tkECele?-%0X90;bDJ0z5abDEhq$44aS=E0@AP|k zQ-1NfVnPG{arr!c4Nu{`-iOn?gX7r13N2%WmQaY{8li4ejEqYSbsdHAdwT-?)F$xQ zsz0NH`_ec;e(^iPDP%GDvxS+qGu$T)R2u{sKR*CnI_%zUS5m8c^#A}M07*naR2hWz zHE|cM#tkJAU@^g!Y%!&7uPDkODL|!Frt2#ReOB7snu1^TIErJP^uC(aH8m2WJU*S%nT$a`^!s1RU!W z0c(GQEdU>kL4ZqH!!H%tamA+DTzrE=>=&SWQHvMuYG0%svYh%g4qy{|q)HHZ*&E@w zcZspMs94)NhUv8fKp7*?@Ob?a?hM!Q;`o=Ce*lI70Pu!h!!3LduhTVrRv*D^6x`BV zxQ|cZKAgnX!aA1f5|}6UImMcXi$idnB_P^J_bec-o|)PS>%s$1+%D%DS+>C=Xt1I_ zJ2!%!?O>#%Eq!ndqgV?We{6GN;+^0QIvRK8-)|$3dV^QmkVvJe9c<&`f3IqK$iz1z z@gRhp+5F6kxm0L1>e(n$j55PirkLtJraD7a!4wsHIKVFUaT|AW3wLo7dw7v9-~z7V zr*sL|^cMDI-pR;-C+I;usORjU3Ohwos*gsd0Fpj2g<@2}Sm#ikH+x3NAd58!%d&`~ z1(hleG2)IM;s)KpGxQ2B>$_7ltt_tK@pB)-_OVT@EwAC+&ROiNY@={vJ(wcQez7E4 zYjimw@zu7;_sv+9AUkjtSmB{&#*rov9X!e)myKEtG>I?!#81-}6Oz9n8$|CCa}yns zOAzCQ*Pb&=NKCFHQ<(zv#-M6)&Yd`iSry0}D3gN4#U(&0>U<7f7!rn%)(J_8 zL)-FbD<&f9E(#YYuy*X2N$_aIP&h-(LkM48$+8$}Cg4EdEUl&5ci{_++E5Nf4tqyqCA=XgJyQK@+TC(q)?7oNlU?FWp5K|_=L zQ`_w4+Awmn;q>%qR#S=8;+`BC?*k_7o-y}c_G%bfbSpeM&>vN0}L zHRA^*&qAamo+0@enpeBC*q~hrA|tda-n@JXw{~~2H{HjzTbJHpWZ(uqL}ze}RP>9Uu>;3VSq$7C?by&ld7JK)a8$B{?rW+>NXciD^uEFRJpUj_;U~H;LVAafK+zkKeuRKWmg5EgF2h3e{fZd`tX!I z-Y(vA((e3^_b~=^KrRvBLt3h#HYEGsspOC@_6<1%idaddki2V45$DF5id&>OuuWV} z!2Y?UvLdSxhX{5P!kk>vzMhG>O4{cqc$z4>Xc276BwnQ9Q zjH&vNEC8VfwdD2_$9cfUys&4pOQ`YTjWj1&##zSiE@c0nQGr7o;w~TH`gjA+(aU)D z9e{_=^A5hspTk%5)3~2b;yABkgVwP^3s}Si9w6$?Uk7~VHuzC(lW*FYpgw&ZdjArL z<9+n_zo@CaKOk)oqp(P2dw8V$^=MvF;OYo|Y2WTlb(NS8`ruKuR88rp>~;}tDO#o| zQWQxoqcgG;!&t#1Ly9MYxZ0Im)y&=90uUB>>F=N~OLL3gfws}F$*8gX-~=R7Q!FV* z+$mzp0LvG10TfLz}$T~#gqNgRI%-@ z_+?g`_AKLin4*750z3+G@=ale3Y7r22T;>EOsyav2GUQlhv*5{IYvEu+FR<|ffGcmyB zK^a|D=tvrgBUbWqHC{|(1m6-xtTI!l)2GSeF(z|S1JZhq=E$*yfGk5F~uF)!*%T98GRYE zcNy#Rz{&GCd*UoM);6)Tv4c~aXEB*9cz$zY3=%?=#CP9{kutz;0|;+dC_xmhk@Nya z9Hu02wnQp-8(b{_Rk6z;mo_p&mgk%2PL5BV{LhLDQrfCznPb8eP>%@kp+NYsL)uH; zoF{R+Ytb3N^3nn(rJ!;J4+WE1!JNe9j-^i%wGE*Hg$xZ=pWg@l}{?vk+{F|UtwE+B7@q(fxkh(H=wC+DcLM^)Fm6(9Kg8< zaVI)36v5+gd6806nl&2>C9saelMCt+6Rgfkyr?U4kHB+Dq3RynJQu|W@?lw&RBbe+ z4H5vDaK-TNI;%*#w3y1i0-)l93u#c!goCobJ8F@MvG~z$?&^z579>+6!HuEPB1f8v zCWte^XTsiOYD;AB?Wk8drsQCSif=t3&Y$qlKq`m^uRUDq@4#%5u>Psv_0%?*9PnI+ zNW#t%0Wc`+U5LS6QuU1oV#+o@mtEl!ETkNgxi2H?rq~jXnBhQYxLI%GDsJIh!aN;HZ7+RiI_|7Jm0-~e+Noq3 zL^aONd_VI%Zd@dFl?9IUYufsiI0~FWpv9Dl+9#;Qa6RmFzEBFltUX4xsdzLH$wd=sU%;3JqgMf)E0=C{}3n(8nMF2%KQ*3MCW6AJf zhQvdov2clINZm^VB1w1x{pKG$h9&Y{Ly~4v6qk`Z;gSomv9*kGT2b!^YB|7Gy&q35 z{s)-w3VuF+7WG{=QSap+7xX5658uJ7bQzz)hwvdigT1qmQBb2 zc(8(-MZ2HJC0G8>3pJ3D`8BsJA-gR8&s2|vv%|-a`O+C%-E1JfWfqUisj8UQeTbUx ze>OkBh#6*>p=!mf3TBw%K&O~uj=MU=E$rhC_Hi3~co|plJYK=8xPnW%`~UmBJ<9jv zVL5FPYK)fst4G4cY*SNR&aC#=*0EwSqq%s1TBI3n}vrAae{GCJ%bmks#YL#~@ilSLn)4f1V zxm{D16Xu1nuVZRtw=0g!6yWaX0RyCpB4)L~_>Uw#X3UcG`l(>+|heFeLFzxW_vnI`xsJ&5DH zietR$)PF{}GDEUU?AzVoGsKhSDvkv#cqwWFBufHmBWT+o_qqwmq*7qaBnpr{H)c1B zBoDIyRXg#Z0<{Exq8r56V9b#0s;HW6uigHM@B$gzCqyPd) z0AvCL5# z^Qp-_m~I5aWHw-PYk}2?K*ka0>3J|FSl`&f^kjy2kALvkv1{Mt*B(yrr}{45qfhXg z^eTQ=zk^FS!jT^1fR3=W+Q%9eSkN2`USL7%m`tZoEp6`_R;1|hwYD{6_}1cOs6jgI zV^0Ed*Ivv_orF8&vwF7Jwt=;J7H{}5osgUC2ub;^fSr8Y8q5-2AcsVn*nr&&L?G$O z$OcRUMx5dltb%cQicwFo)D^0(u#(Zhf2an;!6}Y$V$pjzz#fkA2#5FppW!C%;4|FC zr?`(joct$$X6MQ|Om#rvVojWeS1_WzykKw%vG|5SgizH+6p&CiNFH7lih&B|I&rz8 zVnr()>Iojw9{x<eMWxVm)}15ZGM2PnlDyT66BlZz)n zDdhMe=V!1~_n^i&q50Qyo8?7RZgk_nhl;O^zM=Kzw0i%?XUzmD^39?--a7&*cK#f$ zj`7)}&)ZA9#P=M!cky?j-HX%N9Ork=0V=qB=`yZ9`z${H^bYPne1unCdC@(q=s<<& zqC0UWKJKj0S@RiEAB=wIyKmsRmtMqsH{QoE6wIazh#s4dR;%+eEc6)&`XQ!QwPi>QDqqZaC&--qvbvx9^A)RzxqOC7wdSD zp2jY1VG}bJOwIMEauNM=r2 ztH??5k~yt@zc${2byD%zu#3$!&j3IZP#63N>f%i8)l`~QMFI>(IIQs_gnPvIAi?c?a_I5Dz`XS3t8Ylr>_>2lZ}Y*5p@zv}4>1kL&` zhhAd->}(Rr;`T_Q@rgg%rxw9JWox{vw)By(`J_TI&Oq%NpD+)Rt2QdS;W&G&W9QCt zn;-}nDj-Dw9rA2ecHg)Ux1HNFvklcC;^>9|R!9Of*{y9%u;+19R22+e?H_-wVc}Z3 zjj*JeEK^F-b{xv9cu#P%AB9Y)!6$Nv8)$cg>ynT{N)}ABk?j* z_5w@3s2hDJw3qxMQ`FJeSu%sm+(D2 zk4t)pbF_g?UBir~*wi)5F~b52tnmgGv_PT3Uc4nH=az4b$gf9i(lwkGMxmA9Ffb&1 z_)#y1+|b|JqAu@a28pySM98c=&y;1=x=bf>!DGVjF9^;ECd&q3_kxo6_Rj%;;_^#{ zKxD*nJVwyRM|g+>+`@glO&{T7+`(u1 z5Jz7_5p-@?$9L&PtmzCBnl>SI;%J~v_O7C+Bv|UHN%cJHNDKKS*&2j7ic4C> z;|ou5fFnG_K7N7QkEz@NUbyxWwl;QfY4;K??_RZLZ(u(-s~5nW0HpBcOZ3g$SP(h+ zg~@&^hxfFAJyKFLS65R;8(Z`Ss-(_0()nz&*!L!iV$0ZVM!2FoH-#MW>+L>$cQ|?FRV+T;_nG7TsSFb0e6Z78sD(SaV4GH+nXkF zZ@$Tr#T7jEcPm#*Ea{qxke0JFrbY18_tHa>nZ^k&|Jl*&E_K z?r8RB86+m9hDVDL0t#qQQ}#3?@vV&_qVY7N9L2Y_4ZO;z8U5HrQU`ZI+GoJR2}7(9 zvwNfk$G6E;jJ=|5G#Va%aZ78+^wr}ngL%ZsB{F4Oq`TP9)NGqnwQ1PXn=iSw7gqsN zz$rELvna4+EQ;i(7=TpqA(5#-GQ3j#bD|bEsgcF*cXYrWh13&~PO(=HaR(3ZL%o6b z?=;08xDqn72OY>KytT zyU=S3tNY`Aj3HI8E)M&c*POX1^!r8fj1*8<(%7FqCh%vcpihoX`JvrVo&}sK6v$r> z0c59O-1c{s1aqdTBJHwrrfcxB8@NU!dKLfKe3(4KBMkAaSOa>?kp_k+hM%EL^7kdN zf}Kef%02dhxmE{vI&4x|(k>N|jLLRS@W>uvUct2y{w=jIq8US~!VZ7!VrE0pq6%U0 zfkm8&VwRJL0d>eB*H~Ca1fdW15w-=8s8S*25jqqqGe+4G)axT;ttdbGCOHA$K5@f7ZOYgo`eHfbGGwn^-y&M@Vvk=rrp@=D>`c5AXnvcnnN z%FyPAq*MV0i-4tVJAvBrX}zG%NFpyFSS)cD)PR1uS#w}gB~H&F7eTG|(ydvrtso*; z)e#j-jCzcv96>}dVnlW5jgVqRf+JmGBnwM9#0mCrjC~&f{2X`iK5pT2+{MSZi+x=_ z)@SqrKZRH1X=6BGih)g_!(K>qyUK*g#PwKVMAgx0!G5?^!4QQ56N(g%L8~~W5r=w; zdvt)m){k%>2aol=KXd6Bym;+JoZH&L)!l2@oUen2At5~B0i{s9X_N955Jsv_I&YKZ zeEAiBX;-nBoK6d`USP$w;q*qjC)+2&^upXGUD&_d}H!00CV_hB~>WuQpY%BlsYgObrN~sY^eWv)d$m{7*NF@ z!Dz86ZSzb%P(4Fi2pMHGP!5C}g;EKT>H&&oklS!eT7CvfY*)KhFzECy8}8w22>_(F zB~QXQGq|cZ8clv0a$ysf2!3(rGu*oS86F(o$Nl|#czAICYn>%8;Tq;V#S{}vsF5FyVv7xbA-Mh{w{2KhZ^k4WoH4g+w-1g4v97=xRd2;p_@xh!@@&ud48< z%hmvA8jgyO>z(~TVu~^cC&TRqJou0(kKp1GTy3$fnabvy6^{h#l+r#7L{kdb^tH47 zAtQw&9VBWFp=ey&)01v8C!0ViQJ@q<-NNR%_W>70R9I{T&768{bb(Ss9Tps0ZPzg5>Nd4W3q!NKNp2`@QR=WXMUvH{u@o(7V=L_MK{3S;1$TnP zYz>v{R;+*&``*!6fJg&i*v=QCYKoU8^z?g&4 z>VJG0a-GiMzu|w4@8Nk|p^Lc6ySRuQY?cM)GR5FhdCCDtPLe%Jw?W)M0Jf*V>l>&q zYyex6yo-((|`}e_rViPKrKhgMfKA z2-y4*AK-~n12hezfu6LJUiKT42FmaPzbFccODs8m{g)*z&0k`EwK5>%$bvt>ES`Yl zF(oXR%?soLq1G+PBZ7{=ibk9cw}8$60)MgpZ*ef*#gq6oqT)mS0-xeOF47jB!DT#0 zm+%Ij#Rb~ME;evZH*umX%ymG)1VaTTG`N2Ps{jBX07*naRKbKNwxL16l-4km;vVn8 z?HEyaYpMdmBi%Q!xw&=8YvkFo)Fy`te`WYur2)JMwG9i%NxtqMR?Sd(tX3-sEitYt zL`GCHke*P>24i2_p(G(y*CyBX0;{4z#+5NDh;n;8D51K)v4Ajf zf96OPODwTRhq$MY@E`CV4j*HPF&QSt2G}}>3)`1*ZTD$Rh6%Vh^vvxb5)o5wh$Y{y zi#FDTD$e*z$-TS@tIIgYv$8b!HHu|NY(<&e6`0$b_L7R!36;LfGsC3B3q8D?(Bu$| zs`&iwr$$PaVwtr`l6BvA5~&IE$plx6gu4ker91@DP#XJji6~f@^o-9~0u9NL-B}tVl-adl-=ool;Eg@))VSUy>(G&vQ zwc+-!@psRI{>zJ?|NXXY61^c)<(@g5O@wMAn*aQh51_vd&{!>l-4ASmpak5Nd^l7z z8A%rJ16L_^{%l{Fg>OGVgYEJ*OOa$TO=#+EkA$q!OB-4nFPisCNn*GCi8b#xk8bU@ z3oYu@?GjE}ZtpH1h?WkTqz!5oa6ygcFxVLt-pr*-{*08io938zlbT=K=jV1^wU{a^ zUbx(@M?xoAak^aM^Sifkbb5rN<3rqe^aV~^Ud_IrFA7w$L%;;LgtuThgO=bf}1J_AA??wr;qdJNI5sT@xcd9D$UZDK-^$>fT9}NgPE0(%4%g&-2Lk{5tFscA05;Fp#>u_aKb{TZ_S~kF6 zZW9uJUaD~-q&kU@*pYC=>SUQzLdt;TZ_stjkJ1e3`BH~4Th(w$fvHzyQ;nt;ei^zi|7 z#EPnzf;q2+5)qTg$RHXR!x~|-yVAoeqUUdr;Pji4X?&A|fDN|={9S1QPt;eL4A#62 zF`9)Rcp(qe^w&nQ!Uze69r&fsX$^${w?n_Z2hBrE{(<&5BW9#xTrLH&^)4{vTp*yn`q8>jW$OLhs=hxQ9Q-ySR=ExK5Yw8lJ*$;T2ra zEo@*7Qxr^ez?3Ig)ENdaSPKe0!Y~dfG{JxY0}Ysx8hzLg#s;FutfD=@V zG-9bEj_3q?IK>f8u+$Y!u);Bx_&ILl27QVz@Bl}2j61sjwPgQ)-`6YU8T`iZ9bA-M zZ1Os0G(~Yx5P95Co}#`X3i`c3u+){;JCvEY$#7s`T8nw6AXw6feVpK)?&E!YiVtw> zvA*{UI~Q>6+%;^kZR4rkr?9iR0~7{R@v7LV*dm#uPUsGAmqthQ4m?{P#e9wN5+?`t zk(w2vgp@Z5PDT=tC4iA`@YnRWOZvfDPAz3qWs~UQS5-UjsGS+&%7!0(_*Wn`(!P>4 zTjsNlO`*Mz3K-L2g0=M-m93EP~ zxG|9I2TCdLj;5qmml-!89VJ@aqtM)Xl%7;V4(?hLiw?Bf(GRq`W>UKxWA&!Sn>}yD zL(LFzuiSH(OoPSEC4t)tdc^%H)|99(45np{Au__z zqQoek@7UP6GBEts2IIIF~1I`xKjTvv!0fOOgp783|l{fe`0toagEhm)SA}7(Qb3e8>~3=@_t7 zuiGLgTm`69yvFlkw0nN5zh4XFOUsOq8T&I8+=rO-gyp~+baADEP#c^ANp6qBXfd(@lf96AD(1w{xYmowZ{a{h@| z00R^?QA+*~Y<53U!3e>zoZ=z&a7*vt-{VL4x8o16lD`SgexY2!Z}DsR&-8U%)Loq8 zEnMOqoTqiH^9B|=#T53uhsBqKE#@F8@tPiO0s)t%(BC`{ytwZ6mM%_F8YIyUiI7E5 zTRiwZX#JzBeu8nOE};s5WxOK^z`+Q9^FC-_qr^dzpoCq?fpY%6iVv5y`u*Qq868** z;ci^bPtjT~XCbz-rw<6jN;n09cf8(Du z8JG=IOQ_Y}k;I%SaH-xD>V_b$0CebPi|?fzz(snM`uEoA8BO*}#x=%(Lc3_wF41aK zrOL#E@T3sW8I$c(-FuoyW>V?!o4W4b(BeuvBf5Bo*`Hz_(50zNz`9?`&@u@W}wBH~gi` z7}lov;qm{8hpW%=q<>WiZsIm>>TUcL-M}yOHh!I6!me&&oo1L}f_0f&go{qW7*N0{ z${4g@!4pg)*;R_E2f&zMu!^57@{wt9U#jLLoT)f%H5wVtb|Spcj47DOHU z`*?^W9P8?rdj02RitkTf$0gat7H?vX2?i;4$Y}$V1PrXjE}BGYrAtU%Wib#?#5h-{ zQtY!JKrmwEpu>lBfVcG{?CbGkeg9X^UB%}57IwGK;o{C!3=g=`mVLY|yjtV){KXxRfz~mLwtb;|8DdqA0Syk=|C@vR3Xk)gIlY>X z;zg#EH1Qm;quG`ytr471Po(0UQJ7Kd%Dl8fC>TsV;$GTGW~!?>YuySppkR4yzlYei zSK5Nxy1+QIi!zFz`2o+O z-mc*i!tjYpMnTnl`Im&?DRiL5cT?MF=nz8yE7C{PBDgOUsT^U6JaNrpAQnoov9XP@ z=HOVlgQxkAT0@@fjUs$o750hnG@H9X+SZkW86b_I4u+O)7v$b|CeFr5I?GkO$J7f@ z$xUzDz~*!3g8@ozfH-W`i4ZLK*{2`ki-)&yxIDmvgS*%}dGNK)lB;?i+q{7-o@0s$ z1{&;om*U`5wU}CIjTZTR8}p>XB@+fbq|K$-cD+YZAKVqJXtevvt!2b#i_tdoGIgK| zrMQCCB-a?l3v!@pZ0!8A@vSszpF{5VMD>k#M1Vo9*6<-moORaxaBg(bC95jkMno1J#GL z%;pUyZ@}O-2=;rshSxe`3{!F8px86#9_JxV1n8*#e1xLRbI8@Nvy7H69>7O$_$j>K z+06Ox1Nl&$oBt{X8q|FFaYj`4;8Vtp*bpbr5Vxz4rxAyOMO0BZeqMji^%Kbe75cj} zzJD&#y$h_yO(ldnGhsw}t)mU%9B$b#Sg1ukr$H^3Y0eh#0RjtWvoxyU2q(B(AK@+i z8UAniE1cA`>cR;P_&s_Z|3-fUFX&UaLc7?aO>AI>ZCb;e7MM`M1O-E!>SRm|6a`ks zh#>Okr!cV2kQXUvKqhW>PZrSMRl7LW%h?TgK zOqhq+L?#v#Vlz>Ma5FA z!C&Dt8+>?nxR6KLV8kOF;TR`aVu_V+HI`W65KH`wKF0_8DIVeg`#8bp^zdxc|1F)T z-ydGVzZ!lW7sefImJQ4>ps0d%NaaLkMo0F!Z_kwkt1*%SIudvmUBFxi%)~Y>Baub? z;0Swqh>!7jgR1S#Z9I4B8Ema@;<@wB;@sA*6;_3P0vl=%`^+ii-<@hxMNk}Vobg${ z>9u`%Z9h{+Jo=%fHfa~n>;(rS1eq%?R-rqf#^%;A=({PHU=;KdhSz&kf?01ymAv4YC)o<1lEP>epTvFC?DfASFcpDuQB zcyN^jA$Ab8^W{?}47AYzL4flE3M-^mryEDsrxo{k3B4-p!510O9IJE5JGxh z*{xcZeo$Ps(jx`^b1c;gxY#^pHYNL9Hx1bk6&xNM@Z>lKkV~-T|#*kh86N=L*O)!%Qh(f+ytcegbc1%dVAt=60iyu$( zUT7*7g*FBND+ZxdrA0=CHZ+{w|3b!a%cfiM^C%v_Cd6P=R3#L0J_Ny`V;$JRp=eOR z!~vF#%`rd0Xf-(XzK+`QO z$ZRK6yNzp{_nuLo`kGMZYrDae?Ih(48)*CO-M#U=LvQdC=G6_MOJvvMje zG!!5H`NlIZe&MLI45lwSqLL|WMcQ4z7+{-upadg=+a|rKy{vAEgbwkj)2d>;Azfi# z5AjF(7H-zY$6BWuo~O(Bb$SiIhwtGsoyQeAhh1LBhOS{k6U=zPgbGL*#ozXvneiH~ zn)WkqGVt0qMoj)8$YOM#QKJ{#cNdR;tM_Ule(Bvd-j{UH0uNZU8d|(GFM393Y~z4 z^`i6L6+ODVz}Dyg%XA$7=jEVJ${=6?OA3fVz#I(}NKay8N=in?WoqyT3&73|hQx$3 zV*l8-0^&J6q{an#D+zhfP2#Nrirzyd-!IX1GWiJY+!tJ#o!%k zLyMEmWBl;o-(k5t{s%J*P$)i!W#0cBcL4kxe~x#shB+?iI?iDmGo4_H87^TP&+8Se z(+m?GFp&XkI$%@RF{c?Agb59q@CxOW=CP|bB*B0T(VBUrt_HPCUYA}n7%NmPX@v)R zh*Mg@{v{50vLdZQa32S_NnhZ$KE#41IM5S(hPybT6%O?j`+A6dEWh=}zyDg}3BFIS z;F4@(ci6_F%rTK^#$~E-gPV|Mt}=WRw_J^=Qvi4M-iZ& zPn|DEMau{bI&EZuCmYQ+RNkPlo8H+gQ#D$WvlToSv^Y~V;zC6*s8|u{1w{@PT=Mt! z&7Wi*II1+TVZ^G1AG`uo2JGzYVweti=Gt}q-hcjYuzPMBPhWk`CgYLE4)$eCm+2n; zZ8U1J5su-2OLCcG%b3CeJooY|c=fec@!p3wAX1=pY|MW`N^KE)eBzvTLlrtwZnvdT z46-neXHm`sIigAH{7)~xxrOr2Hz02wX2X(_`L5B;L=h)g|MbHj;*%k)RGpfD8$G+ioCW7-13wP zsIhSzXcr2(7(_{e$RZ9)Lii4-q7p%*;^Qwq!x#7OU|g-RTpr`m(ZjEGmOM{a@g05+ z+q8x?nq#69A11OlV9}jAU=BVABK3xdFz^7@i8uTa6Wd~jDGpHI{>CO&J*JW(axt^9 zy;x6mkbCG|VjUf&#Mab*A92@Yg!Le9wSb~hb;VOtwzOq+TxrR{I72d4m&an{YcsaNjTkg4jGf~wIA?N z-x?DdXDaMQ2__5JBNRo$%dgoKY3Qgztt8qlJvxh@G--KQ=MssKu*=}su*>tg0kYyV z<49vD-n3{!EaP6bo{aMcR#(JHD4pE)R44{d4#||W2@z3$#5cMk!CU+h-dD32PI!vn zrdROW`UYO5>$pH$xJ0|y#U?h&0_(JfsSeISD*5isVJCNl_fTwaOo3N6pf9XJFD>kI z0Mf&qiVH@@JX#_VH;KNsVQJdgVh${}1y%s4ZW$0kmo)^Otbn%aG4ez))>>BB~G4F!8=NP z@=bIY-_#&r)BnBgYJeGnCGw;y0@z|9O28T-0xAj?wiuxBTv2gP8YF4E)XCX0enzN8 zqeM&?H%|z@wAl-PCOWwqItuo%Rj@;Zs_U2>K7~>z;NvyCJYx*IBi`Qo0UjLR!9Ucm zyEp)FfRAw&g1Ckmp2H=a$EIbyD&rD%@I5?_HJzE%ONP!#Y_#(f-AIFrur{J~CV@fIt{LpI4MjlIP2X$QZV|baXO4x80OC7$gM~Ehv5@#qz#Ga^4zT7a?kOKejLW*?~{7Q=u-?z2l;1 z$^d)3nio7^Jwu}Q_inTLxFyj3=#q!JXs&Ei?jH7mTHQ|>5W)^Z17_U3^kxYsllxI8J?!^Hjj4>@AnCJt0-j%kzP1Ma;b9i9 zs?@f9<-r|nl$a>TVHu|`Bg zvq8~7=otw&0$dm8WYuOJ$OtnZAZUN&QTOg*ADW?UD-phRw+Kk|NNyhx=>V2yqxtxY zk8yf>gwyc|N2fq(wlgwj2Ty8+fXkA_yxho@^+{#Up~*Sqs{j73@CxuzZ;n z%8U7E#sdsX>Kkme7(S0Sj+oK3efc1$ke~+JAebDv`jl2B3w47X8^jr8uUIV_HmS6) ziYLejxN^?3U9OYEPZ~rF%>aj zA_BBZr?iP7OCzd;^eC0a;x$DD@YX)?qdiEaPI(oBHA>YYJIoX+7JG~s_ParKZQ|hM z7YoQ(~mJ@^2-LW*X7EHRSbi{aS@x`P+yObf_LV^9R1c7qeo;nLupmRS9s8 zxKT6(5lY9^Q1Zy}n$5ff6DNj@XiOjkI5J?2np01|zIMZNS7*hLE8?NUBA_D4?LgEG zjTh->fh6S6j{i85Ey|(_F^d+#Fk?(NmpFU|gax4img9LsV6!^E*p-+Y) zpo^;tuLuv)!L6JwFXpMr9Q*k6%Gp>zRWTBBiT={^BZ=9)V1EC_%@i+HB74~|fWf_j zj(7oCbITjRg)+nbodVsfpg99eU^W%V)fIkn`_FK2u!nz4Uq?8_Pw|U0&GiHW{)m2p zK}$-y2*3_DuuW_Jzj13Sw7u}MM?lL8Kg0X8ts?36*5lH4FYs#M=0gs zEs9*}z*pMkO)0hKnPQq7q+ZXFM(~jZ>A{SbeDP+-ltcap#)7rNWVxATt8D_T(RjH& zkrjXRlRw5!KK!xWb?O_#;1HzrJBnhUP%)o21gllW;r<@x^F@;=w>^DM`x92x`6d5` zEHA7TXA0>C5g-DtUw^836Z>nbjaW?xrbZ~MIDL;fhM_D+yK*B21%{NOG&X8Jbop!E zScmd$E3UGLaBxy^cbux8*l`8+m-|o%1}^6GCc@}mb>g0YUyz`!kVvR+GJO-u4o?Uv zWBWTbRPL=fb1yde=8L;66GWQyP|(5VJl4zOD#sYkR1Zz|h_AGNN{c&+BDBR4Y0?+M z1E=JqdG;caH3vj7B#4N)kf#P&x}>H=%`?f=PnhiYxL5Uzy@<|QB`7qj8WerS{ryL{ z_23H}ogU%g@g6?8`w^D)+Rml(|{ zyJdiqlrKI|34bsm?oTKIRN{?4n7|ReM+}i@tZQ!eky3R^*|%x|Yx^~^WmiAv+Q=iQ z>v0ytuAc-urGhXRCqSdAEa_X8^v}8_0S%l9U&f$nnuNq_uas*Eb!QN_a{zrbnnFyD z<(_p-m>Rilqd^DH{{Ib@7?4NK&y~}u&`9PQ(R6;Eh)^3?hmW6tDFLgfRhZFHO`9I7 z0w`kJ^{_U^*({-=LB?4^3xujSh|QZE3IcnZOR94asbTHe5#Ft20+ghg;VyT{db;`h7~JoecJACp?~44=n;ufKzpoZ^rVQ82+atznDT zv95E>d1g_dC>Ycr!bR-&$9YvXl0KXayFG9+^ z8l;3Bz!fQ^0ViilRz@Ey0<0t&ANf#-W&?POlrA5ahr4s^JOD60?j`>w1_8kb z*zy0Iqs0b3k%<9O&=Q&FI1arU6jUCyr4kZ#-zAZR7Jc%r%c;a?Tvvp4Iaqz zDT{B8Kz_h?E4Y<{C-!GXaRIf1db(Dybq%1&CiI?dG$w~LJWod`=PKUew{Umw$p;8N z&esYfZt349554pEZ{rpJajCxk&}?R<%B9zCKal}#uJ8muYdOGbx}A%I4Th?8c- z+1DJMGqslpvCD|uRswIhghMtOncVh5_>;H(1n+4l@u7CHY=_I_P-w_voD{yQz<3J%m z&9^MR=x96*kNk7R3i;3}Qw&g2Ou}R;2n&#D@?iCIhh1gEe)d@sg()0Db)gwIYuB26 zP+ojcLw%YG`Xm^SC9c}o2dGdko|q9YsWya6=0Zl70b`9hux(=V<&%R4O?ztG7wA$d zV%bpxMq2?U16xOfV%^XHEs~Z~vq`nHLq=C%R41r)@!0X}!u}RM=&*_qMG6yTgj)E_ zOWYCStNnHblwi=A-|M{^e_7zH? zc38f&L|m;!#cJ-m8z}FW`_&Y9u_cdpr+SpGc0;NdR#OFti)9v3TV99?m`k%(y0z4X zj4tu_DQVdEICXDmmQsHwvJVn#ETWLG3133AlqzS@o8r$QnUw#dt5u!pV0BS@&bgB| z6Pfu8T8fem1=D$<+3soGzqH_;kA8nz=?|9Wu{xMR8sz*C`$iK_N9_C+KDrwEgI#09*pL<3#IR9~dx)!{9pjA6`6n zHP<`<2F8RHTbHf)FLx#&7RdNLOmT{h3p;pc?M?jR-p8n`6@K;gPxtHj@)UM-8(Ub% zjHj5SPmWT;#HBz-0o7_R`zl$eSE&#gP5u};*ea-GFt>S~Si@=|Vi=|3h?m%tL;Mss zarzi(2p6}`;p+Ko*jV4fQ@c;&+~zs(qyS!&b4te~qm^Q5q})Xf+~m@2 zBeHhee4oEc4!|{KY5{dK$rxutnN($wj)EUCqb`f|pv`u?FYBn}cW7Hiho<$fx_`o;#XT)&RJy@xn|{v38MT|g=2%tE$9*4efP4KUQ+r6!}3 zoZ9MHEdh56a&IJLRLppa6I3r&+t%Jn>VmN&ecSgO-Zx4WfaA5kwCC3@MDXl(jJxkm z0q7<}rvy4iW{0D*{b)DjqrnFqRq@Av`R91|zj_}ppMT!s#cJ3NBO=fXB#uRao*5>o z)|9el0T9J3$JV`^DcmB$IHxSBt#yfhG>V>t5Z>&SG|zP*V1!ty)cHDXL(29vmS~*9 zM{Up~Yx3pHrqPeksdKk zttggcF?f;a*M3^27s zI;fKU`rypQU)h!lCYhBs2<4y&b`NfC2^5OhiuvFvW7ClLB2#NZl)V{p>tZZRvRA2^ z&q~BVnxx%+pY~^8Y|4BSR%3JT7cZc$sx3Vu8t(X>Ii<5^CCCU=gpb~Ty^PIHMTz`6 zGx;}(zXQGE8oIK_nlnkOL54mcAf3Gc#$HB)FNh-5AtGQ!if_%u|C7PuY#D0Vr4fZ3 z5J%!jK%n%ttH*DWD)p z+0W(l(pSGP?cQYJmeSD0@3ORkZiK!-G*gU>4e#kVG=OBlqRdcrM4PeA06zqXf-D+kV z=3ojz2ODxN1@hyEpc_Y!gOzg^{M}6ws2U%zl-wi>99YckEE(iGC%*rYZ3qy`yNG@c zHJHNGL3AwseIp^T;OfxbAyp<^y9n5C0T##@{QRI)F^B?#3W)8zwE;h6!ipdU1O{o9 z?inxKB_pV(STw0#CMuCHa};!j?E%fM&to$!KGe3xlnM(Q_OUBS;x@DUtN3t#jGn#lt_;sca`}~3<9>ge{XiSfG3s@ z0H4gKggiFy0bp^Gv~mH-Xoorb%h_LK92K%pq{GXX@G&2LX9P&*VQMz_6#8U;5wJHK zNyZJROH9QIVM2`UOH*)R40kVKIN87)8(2TNg6++#*e*Z7Pw&2o)#0sj=gcFP7{ zFE3+gW^j5y&H z_T>-{afDmA|5)GurQNGon{8lceG3au4wae(aO|N^;EjuBb z)FthW_SE6%eEa3l8Fb$0ND#?l!7G_0A*&)rz?u}WMrhWkz)ehmg$~guC20OLO)J%51AvR<& zkW#jxuHW}Hwo4AjEwy@M&nPO;(x~E;!Ee-L`mA}cDz|uE8l%Ar_^G6~9|VlbC}fNc zJB#D|wN0gneIEmrq~{A`MyBq{I8)S$ybYM_P5Cyr-N{L<8CnSGAF7 zIG}PFnQg<#WLs$C!?3mkQr+jCY6wp!AQ>==lpdOAX#v8rSIMo&Q^a%HHfIq`e zaZB%g?eBdtU*M^WPh(@ghATVQaOK=(4250R$)TufDjf&)ZA~UXyzo6M05zJg z;?FNNZ>DrVCtR{s+$WqorzCM#lrp#{)S5A^mX)on_S}{52ztX<8lX#@Us0*z&G-KU z?moC>lJk_6hT)8paIKo?H*BBV#wb?I&eqm25M#MoVmg_)EHJ#tO^TUbHSJsQPI4bZ z4r!iGKs=7juFJhU5Ae=U-!bqZ7!{IaVa+W`gWebi$2Kqu0j^C06_~GJI^)pMc5Wt3 zpp#R(E`Y(nW-8U!M|fAa&I?tAuo$e3*-sOj~$!nFE5 zC^_`CGupkJ)waNqT^?RVau04%f)o#Zp#~-+e=nFczGgglWJgO%)Ppu03UH4lLz6&~ zOIJg;U=2qFWqeU_FRnqDC^9Ys5*IoRmlTIj6%I+%U=?U=W68bh{;o{PWh_=HhvwR; zP&~W=3Sgihd)hNBDtP#44{yK!9_~DRfTPtR?mYSe`zH^+@>#M@Q~VlV$2PBH&I_mR zxDcIzLA(3Zy|lsQhz8N<+>B|Rv_X?YN<}2CAPi2xVtDAun;e4zTQjL*1a*=`Gebf0d;ZLD zqDt2|qe1ArxfN+}O$z0Z--uPk&sQHBr~jIg6~G#xNUnVRQr?Wpvj(3KU|zr-dx9~<}ihc1~lFQqDb2Xs2Q|! z6ckkdXqNpmmX1Hc4gnM@(HN)lgsNjGe!W*Jf^s5f3o)8rD9 zMeK#$g|ZX5w;;}uv&sml+Be#64SJx zZul^$#=RFjqyTMZ7Mc&*Bwbn&b|e$=L?po~QXc#-TWS4vdNVgsQ~(pdS8Oohwgzd8 z7R|Xd#rp?+tUz869d|kDBLV;np|yRw^EwO0jzEvL%j$sx%Uq z6g8}W-TB;~8`9NfP0axkRwX-cSX73BVLD*4&QdNN^1a;!F5JgsasnQA5HJC--l+j1 zHn2R&YJjYtG@?$lCD6orl+6!CY^8V2RwS}wt#QzRM-b;k9jdm~;}%JT!3qoIYCcbg zeuNxLIV8p6=>hJ?;@C_Yd{8~le3%Z{IL9bVC=a)RL&l)%SUY|OygA3tv;Pl1+`EB0 zckiPv>#sWGe*$0gGQn%}7jd!dV!Lc%s#8onDWK1=&P{nJGF3dX3|L9Us@6R0;zbmB z!Ucrt2k?lB6J22+NB9Ew@k89e>0_Kn=eI84+~#>~Z|vae))h?4!t%a7e$$$d=AVqt zU%jYd@z|(J>BUlzH;KLhXq8}#g^5CQv<PL6i0%A7db(Q4o_-Gy5c~$ zy2DJNk(dnyesTX6KKSCJm`a+j)i+_Wfmewsc4TxDHa4~~5aY^o*YVu*&znEaJ!~2G zM{RRsAvBb#fmSI8ysB*y%zxfqj;UrR;KR4y#TOrbglS>yFDpbxRIj207Oz=5DSe!c zDit~d@VlEGF}!CK@Rtk$ZBU>&&gnK~AmDe-LI1l;;Q#ew_tZ(`pFFuqjQ5;Q7b^joAuagQ^)wJE!Gqy2x~sM z?J9;bEa^jW<&5~Ys5ptfDUT@TH_kS&nA~jd5=yM>7OKjqtjIk_3@KclVNcWurNKaE zWD2a<;CuO!v83YnK%Zo;B|P77=y43Z>|V-&98nhO(UvuDH9VThue%1=FBDoih4pQ- zQQS>!RQ>tqGkPNPQri$X<@O2B@TSu9o*UoEo~Ml4r0Vx^7tiMed4&1E!3C6@7-{Ei zwYWs)!3IdaG_rG*v!3+84~O%?_$N|Zqn2$f2>>!((X2jo}IsJL5#O)k6YMEzR~NEjkox0PkP^6hPByMa+;Y4!L%26*K{OQE0lm(xc1k1t0xEsmtGg3{Jq~4g%IX zMZmfb0(x7(6Z@qZ7bs46_2+?MO@wR8L^zAA%w^{AbTm&|Ok1gsRB_dTI9w?x;Togg zh)iLlL~DuiI|dGv4?k0EpzI`Z3bA?ZNI?@DZ7MV9WaUk?9Xz#$Jj`Q) zR1@14QC0>@DJE^A5i1>WtV`U-KK>d%$4z|kn6`k+SS;3Ye)kftUV0ilFu2$zT}C7r zD)e_qPyY0TM6oq=@(MEPHz}HD5QWI1#>>|1wiw zOUfu?lWyrCB{P2`d;8{tPw>MJ{|b?0V6Ewr{CX=K^xc3pD>8?k7x2qX3Qsp<_d zAigPX;HmJLR|X1`^JQ9-86c;Sl}4M{+Mrh(eFJF9 z6LSA@=yPJQ6vIOfKq12Gt+~I~_%))rK_@Z0StEM;W<8$S8Wt`=m;cwyLKIENkU&;s z3XqpYk{yn#Jc=(rT|O**bID!&s&{vceC}AgEO_?!L!3ICsbS8vKt{*0sx6Di-w=xS zcM5s`7EMBd(CF}4C+7o=MvwL`;$TmOZX}8CoDshtUG!=;jngGlM0>*tooX0ayCjgyFGH!CH7y#4iY9WgdNPCKW8$|7R76RbQcJh^gH+gcDY9v3o ziaOw>p=uHv4zMb!*w7$X9ooIOwHxO6a<(cpb&?N81KeIhndOV%qQ>6{&O#;@QG9+) z`zWp|WRC_+Aa(YI(J*=)nhF``mQ*4oVIoWl4f8=}n@c*l3eZ%6$KnJ$?jT^(|GkA4 z8`!4>Jh_U1n1Hz?OgLUc1%u~78wppFE}oJhqWmzkkzn6|B*EPNU8!Y5!y{!f>sieJ zV=_?xb!-y8>Nf!wn^;%$o0fcgqs$d+lY+^dad4k898bXVJci>LcJz5{Z(hY3{l9qo z^PgaKa{8-o`5)=mqzw4};tgD@=dm+vV=*jH;E{ViJy)-4hy?Yxy7!S$NAa1HK*q5Z zV-#Bj+f2=rQN*@Om269Wj3o~B2p{VgIM(IY{{A=CH*x*K(^#Lc8_Y>0K(WX8HnklTQ~9XXYZYX4MpK%N>BAYgy!U$iLjIv24bw1rx;fwuvWn| zIg|fKz?lfa^c2#UvY@pQ>?7|vI8LgX$_EDU*MIRQ05vJJ00Xo*g_*R2z1bGfJhCR8CF&b!$wUK# zk2f1jZWN_8E8s}V2rqt3=#qJe?OPhD#nT4ZEF`fgEy5Nq|E;9pp`}LHoVx%rIuua- zXKzNuOok9Z*osq#KnJ7U2Q4{2Z3dRdC%FCK9*$3sa55g_!NENouMWTRS#pie;X8O1 zyS#x7T3|{OhclT?CI=eSV%Mxc@J8RamxUNC(>5COVVI~|G_d}E?7eBPt=V;*H|AXL z-lxA^Ro!aXiK0kRv?)`vWW`8;I0zEN2J#Q`D-z^uq6C41{D35mfqb_e!-4H2KpZ%7 zI@y7&j+7`-Rjgt)tlPKeo_6mwXFkj^=URt$kW`gRU>S7*L84fLE*Imsr^|hNK@8H`JyKdq$P|B*ka%;SO{cG>Am&moA?vXYi20tvy?fkxYeVL%dwH9+~@q&6$T ze(`g~5HVnK=3c@U* zm4aYwAAu`Pc@2(5t`JrVELxi?A6|S< z3)a{R|JYyI==Y}-@^54H|R0T;%-pDXUhJSn6P;mE*NPiNlKQXd6b-@nB)Hadjmq0 z5={xOtyhDrBl2gGnff|6{!V%O2r4s72@eTOsX% zHmfo!nJDz5-Fn0s`WV${Gb#lr9p&94HW9{iFk-l}4HWatm7@08>vM8ujid3OOO8N7 z?POaKV@?TqH6NNBg;XoBIci$XZN#cAY%B!b6z|`;gFBDz;Oz1O=a=VreEbmIKKfnt z25#X74shtZ*p)RJB4b?Hgz9K_qu}f#LbA5n4m4e`wuRP@1PN+248^;54Ij9(LF3@D z7z=X(2~|R{ky4b>X(N;_;BH(F`8=$UE2$G>kYU5d#J^iAZYp5|0}3{hk46KK0~xDL zcWec_8-ag)B+tkc^_D7ob2Qoyj9%H?g&Bt+MoW#B_!wxG0KjNwGN~!yiFqR}wNBxj7W@!ERkW{~$tmrTJSyt1O*gm6`=!V)rBRQ`zbbMk1L z$M5fq%WD9(lJT=+muItrrJf@y7Lt{rIk03hQP0GM_}NXhh7e{PG!+{$2tEbzO{K_M zfSW7ewLSRaurKUFZXcAgZNzkPc-J!KZ#<&G@1Q!0DG(W>>^2xf=7Y15NiR|mMh-=2 zgURd4q4l3Dh|(-TsqdXZe)DkvZDq1JRI-6rvziqAQhTt0&to}Zt&*{em3Bm3hX~qM zpiOFPjG`7m%P~j&zV9en^m7-PuL9Prr z3)suE2RwsQffm2EY)UhF*rmf=Bxy9VxaeB3I#6$~oa(b1dw%m1aRNTcAYj4Z1EekB zGr zZdkB{JCUT|EescOi5GH;hyDZ~;>pK9NLCBJ`r21;{qPWn`$xFB_i{{u)0a<5QY?>T z6eWfN>_yR&;365#Cw-NX?b^mwBb{XrFHRr+<=nVLG3Nv9V$oh$@&EGiAoGUMjLO?DrZCLz(7WfWX!3rC88h1{~cV9}gB3F;OL*rNKeL6!BHvp_bCShMNQBpQY8pOSo;xjUY@0D9w7% z$#Wl^9`Sl7iIZfPlUe0Yo;=0xzV(NA@ca=rn=@=Sr+9Yq?4u79A`jg>!)^9WTgtG z-1(~mHPq)6&)t?aq1OB`>^K30<^7V)2h}gxBzu?X?Bp;Z2kQA;@-*%oY+0>{b4xxX z=0=t4m?n>SHkF}jqw<~qSgXNBZN=3GR90AT>?!>9efZ+=MS(Bw0=IUc*Vpm<(t748 zuaU_vaa9LVRu|_zn34(4TB2y}Y#8%=_KEUdL-kZXm4=^xR)>4zP>8?jq{H8Q4!rdo ze%Z(OPhe;^ewvIJ&qM>Mzi-|xGbFP~zKeYJ*!*e(->5 ztVp!OPUiyOLvRMj8#L+Y=GbD3jdU)FKHXo69V}RlVa?21nvygeJ?bq!e>vaIBToua z$srzxyT#K$+Cy3Ya{fOeeZ9t`Vqv-TRDa~UM-<&UlyR+M8KWxbf~nEZNYe!6dM!aD z2fukj382^Ru(hyXepOubayueo21;H*6pKt352bU};Nu4HX3;OY@p< zj3Fv5GSLyuy?Gx|m05%tB6WZ|rC_LcTu8@>o#UxL#~=Iqc#Ibx{~*~r!0R`^fWy7( zc;otOxP9$qwAN~z=prQ%HAcad)R~9s@al1xRt17o!y%JQvWU7I;1xU128%;HNy*X3 zB(d3Ccuq{>b&s6(h>FrmE$E)HGDN{l5Txgq&v1PH0-_C#pTFoRTw4=t9gKJ!K3u1i zc4-R^4-QM3z44CiwqvzkD&t#3G1y!q`6OfV(lU?@UTvMyp1odbym?q5x*JLO0@%XMcMN|uVa&N@=0MK5$pj(L<$ta$N2%dN91pRY?#?s-+Chi& zgIha`A)0c4q^5jTyewv_145~gP%ZQT?P;d5__#;r6E8u2O$k}#GmyFB!sjTBRn-7H zW6M-VK2Gsk*x)v&H3>z!&pDl!$}j8?F2Kr^d=no+;9c3THrSq z$SPO_eqq3~OUT9{*VnL@cA|d0y$2jBY^~5Y_A{ZhR25VHCL_KnotGZ>ZO4ex#9VvV zfkVE|0PU4yBVmF*#Ve-j$0vpmJ@lF4Fy?Gl%pLpS9QeKGzy~KKY{R(;(6pxw zqXQdU;=(U*X6GCeeR{tZ9N`9j77hDYWE~#=vi51I%z!Q6TFFM$x=(DAk!FKZBy|q_ zM>55Xd$1bbXVj`PMm4xZRByP=E1G~1+DLy>8!V2B%}o2-1nb>a%=56kmU=GZh11rR zR!HxpNxO>ZBCflN<=RC*dA+NzMLs?!;FAmjWQyoI-){s@mBKmNR%{w%8j zc7Fyx<6p!}%Pkz}9@eskprNS-9B@Z!OxlkxA)9UZO0846*F#orR0Thxg%U24kb9 z6>9*kGzwm2?2Xt2GSZZEC)jDo12ZZxwyu*@utkB~ay(0^rX~$tEQ-UL=B7n~Q9X6> zFs`fq1yPB-{lQy!a(s{5FBvH#R0Z{f*xBT1X2x?{R#;XG_V*4-#^0o&Tc>to0G_I$ zD1yCU-Vsd-&?{Pm^y}vK;P-y}w{id8-B@~DT;Ozj#w_ccXJ;w{FEGOdP%<>MvS47~ ztuQhACp7>nqoG}4G}ozzbOWLRz1y@gNWmnkP_Av8hwu1DAH0h{dH+rP>d*aI@(LkSp0VxaGefN$J?tg%b%^5EH1h0fSEFYY(D zb{=5hc>aUZEv~R;HMkL@?axPQP^b-aYi(7iDO$XXfr6)cPzZ=!OUSBSZsjk zGTXkH@LZJ%bSiZg$MBA4JyRE?cOKHoP>6Fn8_2;YWZFr3#JTO3v=qo-Lx?XG6F6ZQ zsy1}*P%PEF)>heKlPIa6k+JCusX5P&+K6V-!iYRg#g7#QUdP>5$<|C!a2<*SO7OMh z=t8E8U@H-8>OQy(%E6qtV^cP@fo!dTSc2;k%Im3!@)~&68MOfT<~7LI4?~@J-hs0Y zz1+g~SHMw=^Qd{KIOh0L-k}BMNs9=^h8|OFrCdqynWmcQHR{W0DkikBG@y|>R#PR5{%g34iIQ@ zDw0n_g$Y*i9B;{5RdO<>beYT}8C2qq zWs$btpdA9+H`IK`QfBw3I0z6n|3{M=;Gbs;_~{)6h{3fDFbD`~(K6pv-eXI+OL~R6 zKo(BUmD40nte|5GtqE}ARrG+34!UVG z$NEUI?CxUc#e(DKyJ+Y8P#5gu5QnF4pzR&N4>q{Adx*P_9^m}qb9KOH?bnwM-@vcE z@+)}d>;?{R9$|g754~7Hw+pZvGIGDM1X=d7LmplLms?;hAzAhg6NTAj!1YQ>H5$Z4 zG^Xj?qL~{`afv55!T0bket>@fIkI(EMp>b9w=gh-AkB^_=$M^5z^6~-~7w0&?IK|zkAASrqz!&ii{R(d32#46i8av$b zu}KINIv3ZZ%OeM&v0++rkfV*;;Xuy`nHG+P%QB1MBMbbbq^rvCwofoYl^!-2!q}`b z;XCFxP+P!Ji=M5NqFP5Mp+02aS$i;U3qyS{Nbfcj9hAfxC9NX{T}!#)$Y{ezL^3WO zBx6~JF}i%+>YY}gA%`9Du3m}@q@~hlvi3+gQEu@9tD+;iEJ2$l<#~3n1}g@Dlu}BV zpPnZTJT}{n=}q|#TjLN7>5lM<<15vu593rE?zs)JYCtf|8NMfxj{(qAbLy2x2JH z&CDTZ@jsz99{h-Smln8NsBz%fpkwPBoNmwY&iRjU{3#Ct1cDWIvG!f8WG9fH0xbFb z`be!2@nL4<`H~!x0%J|xZHu;EY<(cAubkrP z^?lrUf{)1w__%|B#sR=}{_j0}hWG$ERqgIrWr9@#09g>`v?ixQCW9|Kdopd34!QO! z2&8*Sm(!bQ>FeVnD?g}Cd0GN`hSZZ;sTvPicu3jG zoXI6#*eTxedwAr>AN%ircyNeUZoGDPxuyVMJl!Xv?6mchaan>7|1HYrAszDBLsq>QP{Ax_04Swwz8LjD`_ z;sxjy64HsC5efuy7Mf9#D1>*h1z^FHE5JS#ug-0B`NDl2kBt zG~oO1yoC=R-@*Ci1x_zcap&oWcy{{mBb_5FY51mm8MknVBR#~9>|m{dro+r1%ZNr3 z*b=_Z96E+fG@76Vjq>n}avPvChtO-!l3jAp<27rFxL`((nb2d;!DK!2wc9M|s$2LL zGG#&Nr;kQR$8$NGVT&6eQ%YL;xs}jKui?xnsK?gZsfBNZmO2fs(#JXBB=bu$E@VW@ z4UJ3MjilAZ9avRS~SMOfySbO4ZPAeMA|f9^0IgdA#kCn7_^hBi+*BR z0+)JE3YwVw0je_d-Vq-*uULQE6fZmQx$5KJokOzDDRf%Qpi+^t>^LEPp&}ug2GeNB zTlWGNdfE!ahph%)LuzpX`it8!V7GDZdqF3=3Knu*S{AtC99|9!z_79epP`Z!bV^k5 zv8|pb?E)pFmBZUdXXw9qAMM|G1%6{SNw=+J@C9W|IIE2N8uQ1R3NIN}o7j5C&#Sb= z*aS%pHDCfYM^jkV0eC3{A#s*!4sJPUlClC?xnJzG!`?lE{^4`z{qsr{N)WCvN;4x2 zoq5KNVH?c)0nYlqw*h(0GdB}Rpwsc0Djt-gsJJ2=pi4>IQTDslgAM$23s@^TJ3I?%0~)Lbji>DFF4Xg&CkRo>MAPaf~fF%(S6yOiyRoH8}K@v1_!u6T}2q8nFbEoW&w6cXgbA>6{vPOBF1HORLX$z^KNEO2h0%5WfFW}BNl(g`~L%bRj z&oOQ^u$8mElSU<%19RJRS3p*Pp2kUO7W8fZ%>a|u*C4)cfW_s=^JN(oQwuf zPk7O?wV;A7j>nH4;n9=FXsZRsXD4_KEqu?tqirs+?Ce}g2)J@Ai;jzFvJjN~T`*Y( zxH(W@cfE@foa6mx_ps@_A<;Du-X_Iexm7pddt06yjb{;=1o?JmOyv|c;8q?yK>mr#P*i^eGQ;s8S#v)3wUdYeMIO_B%*Pvwj5vFDrO{)QxY4c73LCNLw&vh9|C?+-y zpbg>+aQ_nakDmbl+RKpZ3%B7ueKr__NDjI@<0c779ECL5Gn$-*7y$IVcc>-0WK{X(fG-CzP-SwB!*!3HYxz!UtyroEae{th8K5J^Q4(gHQI}!MMbi`!_|dituHtweB+kHHD}xPyRw3`W2{f)DVS0R?7(>!ujdtLd*q5oEo^VP`!W zer;Ztq&MLYD+3_LgD2oA11yw9=#^sGEr_M`@x&y4P>W+^Xz&)7f@Teo=*gt?)^>9u z2J8G&3MtkC-w_B+OtJMN#-Uq5@}EBMyYH}J*HZQR^m!_L`)#RQ8wbW2zl09h$)W3{aD>Ww$>(v4dH z+Q?{Sj&J!=ImL4WbWvu_<^aq>axJ5%kAs|mse~nZZbjo=Oi46Sjwcao)j=YxHKII) zTP&epaP+#?f--NW|IFZTun9(U_vYOn;k)ntL0xvzIB^Cgi@ANf(gzF={G+=M@khV^ zJ-qU7|0O(r@(l9TkQFxvE-$v&Sr)Xmln-A@o@(Qm&WpD4(TC4+G&*t4y!C^(@i+d? ze}{J;-og21J2jV6bd=d>f;ly5v;-&`WGfToNeYBRoLXj}lp4UUKmvUd@);CC^2Jwo zA+PPj<#}vma$ldIsiaI}L`}f}+in>d6d;$uPad-D+Vb)XNKbx3q{g8>e%`PlD6L>t zk#XiD9x66w!Xhnxe=`#08(`Zo=L>>{zsI!2fdZpC{M@#R~t9c-iKH?SN=D73VF5bWQ z0nRpOIK4Q*lNXQi{OqGA+Po&WaDYAR$r?Md#v&S@l`Egkq0B4Rf+s{S^P}T=T(<>_ zE#ui^!=pY5R(KAUq!dAx96uI<^&X{FB_Wn@TuF|YcGxgsKDLiY$y7ekW|15KXT+Af z4G^rNxD3@Waii!wv+|2KvdgNshGe96#GZ0P9=Y*^raEmMu2((PB&sXM;KQfptp-6; zez#<1daqR-)dEtSkLEggX!B^NB1L0J3Gr!Zl3=lT_p~qzR%uT#vP>-A@kP@L;KTn8 z)VZyb^B3F%j-?UX106d{D2J35@V59z!)gXX7GrRu_4n$TLRFhUFZ+h&0NJEi3?P6u z&Ngls6H-XtO!=h6!v+Y2t}^6iiVOAWInJpc!I(ZR1eBd==FeArXu?BFjS?y+)!6S= z=Ha_1u-gsoS8u_Z2BRWVY-mM@SG1R8xdZfQ3=$X$Y|=ocswV-bC{C6@ zy1Geo)irE6+G6{f2v)A`WA)$qF~7591I)I7WwHhQ^v4I5)Rb*bpT0&Z&1X!`ri{q^ z?=v#6r_nOK%n~o9XVj1=sgXi{jZ6ohTq!_O9%3nR=2T28qB^H^QqsSio*EBvQ6J-7 z#{USTvt$uqEm$2k+`PHM&0G68I@rO{>NdX8{w;iC`Sh`YL|@#+UJnuYD75 z+?ZYv*WM ztl%=309RV!9X1MHML|GKtR%!aBwVtobW7(!eD(?Z5s3~ELw=s7@GMH)quBA1aCf}< zgCF4J`58WZa2HRXKLb>;=n8Hf=bJ6edgTOPJ@Oqs9HMOEMp4#nY^HO?{5!w>f8#g) zkAH}h%kwBmDCbXbp4pJ@CCfm#bdlD8RfDvvp-xWcX%VsESF8&oG;nHMf!c0nrmuQJ zS;uE5qT{ogfl)qr0u`{9n{>HyGsyhU3&#{Hl`a#rlo9!qr+kwkoi#$vhKFDjYdWFj z;{4ajHC6)NkPV;C1$u{?kf4x|E7Uerx#0#k!Ggxcmy{&eGGn}`(J2#-qH-uahTvPt z>8LomMT%&L_wM_6cKQq#n+v=+e~$Mayo1g5@}mzF zafAa|V^`K_u2a))1$uI^7_zCCVUX5zAss%m>gixdZw0NpRCuzA2f{wfmseb;+cv@CF8FQJ*CA< zMy6tdnn|e@v<4N^mbL7Yl)ST%RQhh!Q|djzL&f9nkp4x*W$mIf?j5tgUV3)c>1py_nCtM*dPj) z%@i6bJwhM6w}Skcqy>nBZ^f0rhsrbxb)B~7s3Fl%aV6Kp!@iP{nJvCM>tqkO6i26G z(s&jHuujudJq<$uk)_n8#=9#LGID4T&qab^E2RfKZ+>_RyT7Gm-q2GWa-lY$6!I)=s}Vdk~jLG z5qjMd3J1;&a%mOy((-dN#Nhc#Qi;Q4i%WEvZSXN+^dE5$a0`kRM3z_$aPWb;+nozk zulqh~MB3z1O_WRtLLo~jm?}itC_?Qmk^h!fs*FU%fa{`hxXP$)N!44q_<Kn;srR^ZCLH@p&c(cKUtxP z;&A5(ulUd6hI|(vY`+J2S#Yqs!jqF1czSw*?e=rKz)yu5;QG(tFCP4PymoODM|yzu z%RBHduF!V^n3u(fUdBZ$k2jD9=Y+Na)?NN; zj&XvwaR+C9@v(n~qy1|**g3-9-T_{_{u;h=`)jd*_f~XiApLKkRFN>9S|8Lk$N${< z-^cqHz*wc!)T-zTio9|274QF2HXoZT0~i}!9UFv3$kvreKFAdrt5UIJnKh>)(n!ho zP;PY6evkt^&Dc8Q`N2V70)pVck3V=H|JOhIM>se*!aHC23XTpAuv)FLTCK3zb|`?= zdMEO?Cr_j&VZ8o7XU=;SO^h4lDMNYk4L1o0t$BKLrKIQXJ+MS-BaVz4N2lUV^5rzI zkS%A-R~A*xhHRK@KA3cT`0y@%@ZMXvxID+{`E%TT`XTN=|LEY+BiX}O@dl3M0K3@1 zq6-`0ct*o?JvDoioy7=!QZ{0$z~bwvVT?^>r{X7{*w%sGT1EMFiRdVZ6zbANAPc?l zgouG z?J%3JC?yh5Iwx+hZ8Cu_p$<^QMq3Eq>j?0wLI$wSq~b)AQtlm$XuC0uqg&k z$Z+u~k}Z`B^hj^%sZS2e;t^YV6*THB$wpjfS~xVN$5qeeLS|a`-(idi_jGt{`YLeC5ImzC^_FQ(SQQai2rPcqxWlb1jxrx2@I&Q4~46gZWxOL;VaB}@Io?aZ| z{_zt$K7EE4=VvTXKmYZo{^+h0f9A%|;menA;APyv?)5$3ywUl z%I$<16)cYK+lrftLTJe97edsO@RRNxTU_E4=Xi<}eBcj1(a-VftyghyaEP7N3a?yy z4X<2#xdv`(3PX=)n;Vo7Ef*~w{`TMc8+hlvcPMjhHGDBj>eP+(PNX43an^=6Q#)|0!M}ZgK`h8kjMNywA=n0r z4FY;ThYo9Ot!AZwk0MW1V7-$kH6kH}#cUl{CdIxeYlfp@39A80bpW%0TLIoMZtRZo z5xb4XI0q{^I%<-pg~`U1i4%DbAf&%;F$ju{{zSp1{L~A8sVpxC{K&c55)fi!SwN1c zt;`Wu4G z1Dsx*;^gcY??3nvw*8~20h%a&Rev7ek)Op&avl4!i)VpafY}7i$>#+qq?NtcOWMk0BwRU5dj7pLl}3y^Nkh}!H7GfUtJ0iOqP36ynXun zyOu|_Qv~3e5uXh`qhE7qm~vPjp5lBa&{5}X8if-42cJCanwu|f+N3ebBhI~MsOUeD zd3#INK$io zIrX`4u-3hnS&|JU6F!84qG)pBZ0b{=qdXJLM|zc2TrE==giUeR2@3)pWx1kP_lzi|lc5rn4WY_goZB%e_SWnD@IAthalXFL*Cev&U# z@pDt`uZxa68lhL-g5@Gm*u@sOzkz&s4uAI){$$I+EQebn(0Gwz0mlJ_5D<EXDRk`E}V|{<<&z(LVc+{%fBDfWv7J zFe?H+8_g8`R*o6oM_`6A*LO+D-JH7_R7drR;K^EQk+I)$Mq4$0*?r-(PsRnD(vg&} z8L7Q_-$-UgkRoZwEr0y~wMoc-Mfv*`Eq$X`W*%%FbjXd;A7d)ewPSy$VRwIx^V2n! zXB(V7UtwA8;$U?hZ}eZq{mu9AP<{um?mR~Cz>iPw;=|*6cyjs-+wJ!A?)*>j*Gq>l z;oH}~g_rFH4p&E5j@FO`gLu9b%H+6RG=;uk9Gf5t2wG1Z#^*0B>UkkXK6cIx0LNAg zXV~Boj`4v!#E16D1_4V`?C36DJNN=#z4_{Z+Q?Orb~ISrSUDj%J>C^0E!jrfRRnuQ zW$_k?yZqY2UQ-cv*}QQGk*%_(zY7yt`l^esyo8>UWF4}4xL-}%c^q?ls6Fs&dD{gd!QcJw|1SRefAinsAN%@!fqA6&XZ6kA(_@UQW-7N_(O-pKmWNigI`4MuWc>1gf_NpWAomsu#^^CV6$!f z*^Hc!)?j_2tLH``6WS>m`ybrJvZ6u~t!^tTJY3Z44&qIT#8G zs>4co?vu5Ek)dF-+PAiLY7=*8Q*!G)HiVwp zk$J?qmeN>FpyvS2!=BNoGIO2YMc#ofG1xLQZ2JbMevS{$?&7%}f2uWYlO0^c7qQ3z zn(v@Vi{ZH#8dj0ulxqXe_-L;MNvM%*`1FNKqRA#yF{R?Q?N95bxdOaet^ z#O&HnL^D^UE6+p<$?Bgi&uJ7Mpx z_p{eUWvwD-aD3{6fFoQ51%BrE0GI?EG7++Ku-S!v(D>9tQb~WZ`jB+Ae2MA*?|fOM zfJk0etIQ%zmOx`JyNu-10fQ*77blgSGDl7SoJFLCRNh-jX9`vUO6FMXWQ0wfugZy{ z6Ry(@ZMR{6?O5-uv3I!O>}&@+=X*HvTe!XX8lLy>;J$qq_x=0WU+v)whp*w@*#ms= z{0^R<9^>rt;`1*3(;i^06~A)*7w|3pIoxd5v9rI%vR*-#Xz5~@mC`DDbRS;8ADv+# zc*T&hJqEE}#b9oYM71`LS!`~_vGI;mKgSE4;*acIJoA%}{d25VYutY6b?mPX@W##8 zaqHSG(tkr99e~XAtg+!Y56M(YZRwemhEM}=J3WbC%WvL%mgB{hQ2<&_TP-D_>3c_b zE%Wk`hAIGs1%7xfEn<<`?4eJY>WD#}XBp&SUwD4@g3@)ymz5_JqbL&two-)$DrRpa znxrrMtvCM&|KY#?AK-WX=|9C^{wx13e)&7!iK2lE{O%ic>+s&OTCcIQrm`W4`7Abn z;~)M8{-^)pf5hMW`+pB_zx_7Kk;!33N+&I&oof4-O-o~u#!;t6QUIDj_Zxa{G*s#W z>Qg3!m2QEB>;yNQ+@_V5Za;njzk3?nOK!b`*q?G{FF2CSccaoj41sK8(`{yqlEd_K zv$$_kKq9AXFAKMd1oQD-OB->DY1=avUdF*eW~D3tE|LHwDk;h^(RqPTA>foIOG*tB zLPyECW~8O%o#Rt9_B7O%*ggd0Z5nSWrInTIo(eT7MN8y;`xObU(@P8md?O`w9BK=X z@4sK-{^R?2=ffZ2#rZLwym*9n?!AS}?MJ^qZu?DK*8^PBL+t4ai$p1s&!(1I&g%2) z@BvNKv2|^tXtIh&sCy0FLy|dS9E4|#Cin>h8tgI@HJ*%hO|C<-D#;wOk?~%;>5TbI z!o7Jx_0$#K4Z3*w-=pb^CRP|DC^AwS8o!U`!9gfHBwB1Vee5BTn_EU8J0<>UlVpz{ zpGzN#f!KJrXna*dHDse6Q6H+C>3ZN7i=? z`$CN&l@Q=0if58Z4vOn%>Izp2ueVGad>t`*UKH|tfu)iP@)@WoSS5f=6|!Zq#Uz+` zm!+5ySscayn#u_CP{8Go#HMXi;-55X(Vn1Bm73aX(aC+pRf~^Aie$x-dfszz=V1?M z^fU;!)}Dz897K9LZ7^6^ZCqWYL`@FH;8Rj9X0eUO2C(lwhdjK5d}$x}`XO+zP;C_V zOg<#eDB(P|W>wUP0K|wKOjZKooHfbk!b{ar;BO97{LUr(504>losLwOKE=%yJI9OF z<YM8r2(CP5zUZz?$y9p6wcXOaO^ajOZV)Vu?{0H8pJ6{~;)@tWl1_r#b^ znUb7TN;OprU?{o*upZD;8PG%Vq&~a2iAbyf*G*Q39sPB8to>v3-yd}lAozdh1L$X| zq4JboF+V(|a!$iYMgvO8=cICE3;YMZoC(LmC=ez6`LqtGGEcUTI2KJ<5MfXTM`How zMsQT~%COE%P-!XItkq$7mimYki~}cD5ti^7@1*SVqNJa*0kB2Og0|WNmbGH%+8X<3 zE1bXB#l^Ydz;5G~eG6~&xA9Eh!-LHaaZNtJD|;W{`SuB(oISzg)2DcGaf-9c3s|?$ zJNJKqzeEMs_m1!@hrf*1a2q$)N7&unMN=M_ozr*3HXn^1-3RArFKleJDJ`_V#U|z3 zo-ULGj)A^4LwCa#9UH&I3qQvToZuXnpXg^f*xSeLqgQdTe~6>~8(6n>$Y*tObyrrd z)HW_MrL!jIv%Af)UMK5^3IJrDH#gV?Z1dXWNAy(S+GUP*b3i4fgKVLC(qDOpQ)?MA zej`wZEo4u^>}a%mdK8U?BJ+FA9MYqJOX;w%U`_jtxI)$Fc~wlB-rDxP{qEcNtAF*c z;&1-Vzkz@K-}p=T_AmY-e*Wjbg+KpG-^Tv_QSb|v0M_*0Vd(g$zxBKL;JqK=?!Ei? z{`bF+fB3)ruXyY2w+c*TGBW7BtP32F7GGuL#S1lNceP$I+Wa+q18rh@ByR{Qh)--8*Gm+>w7B_yJL8CF*PEMTennP zEitU{+$zY}7G^Q6^syofQ%3M*j8{Gr0>hSPbfgDR-q;4rK>_R(}T9F0&^6;zYdy>Nu9Z)u-t~+|32I)%??Unq5$}%sYrXuwdmJv@flq6O~cs6hj<7V0< z{k>yR02x*b6%DGpaSWyjx(Y@F8gt!w9yan&ybFBcx#t6X+%sa>G6BRYPA~J!jm;xU z-N7YEMy&xbMx~+>O%hf}&#rFaCLDrfEi;eaqyU34z={EhGj=a|FDe3S`R4XkZam7q6)uCc(e<-nSjtn~DAYhKqVA!a@?LD0Qm z*goA?2}>LPX;e=8oR%R-dyteWE{BZuBT&(lXO!jh-vPXT4u9_wa_<82=Wjw@+8ION zQek+dK!{Id8Q(x!o0KU|)s)s3T(yv~9;fXuRc^R<34iAV_|ZA!@s_8CjA%=7Dseh| zO12p(-6MuE>HCEP31pbypV@eNo}mLY8X)AJ|x04)Pqb+aPO2Zvjnl(K_opI?mAJt$U@GUSS;aXyJTq%8%> z^r_xxNZEV>FMafPm=**%oF&IeruR@O={IO3Lg{2XB)eguRVbs4=j5fH2`;pkIF|&* zVY$kb8Owo7-meC$sM>r!RfM#U5kn~xuY@*L6@iM$N=5gZt!}<(4{lz=t53jk^V1px zv}q8KYJiy!@R_j&NM0t?^+{5XCA?29vN{;;5Ry3601CRsft%jpcs4>;;!Wcvg`x?t zO^8lx$nWZXIc5}%wmweo_*cebV;RJmvhJ}96AiqZ?&=RPnlYGlj zH0V?mfxmAB#ju3JjWUSvHt+SkGDVBAYi?Zo%I?w zj&9=m_3K5C&sr^gq|W!GJh4t_O6C{W<}#jHMI63uOHkjHXe?ngqA>=}2q_}LSz^+g z9^Hrpow8vC=mfKkswh38obUHDyl1%{w)@}Iw#Mt;n zgO`#txf0D4pT*m6zl|Th{WjbkufP5pe&svg!D{y~BGr`AW$Relg5Uk!-@_mN;E%Bs z33@b#o#$A>zkHIPkElKwTab*NBV}H98`{naOK-57dpLV(;qPfvc7gme4R9iOGP%L7 zm;zE6LGu1igRYXj5(M(th-YkLW{7(Yf~q=IZs3sqRAa`s7h_;ZLM0b+Xy)h|a5$fa zXc0do%(Jc#Bghhb8E~j%ZfI3ZQevIi$0>bI$$5DkhX)dj3kxYT3ylP1N`6OuM7(JZ zM;bKkaG8X|tZ?{HWSFI_UC`MmhgGP@{pJa@;&+pPMjzhucpi1~Z0FBo=zW6^AAN|E z(-(Ml{uB?7?|!T^vD)avH>)oELmc!sJwr39mIRzQJ$yTOgC9a0oFsR zTgsJ*-&0Sm0^Nq}dlZ{&cr-Gkhv6kQ&Z;P1{qRo=5SCd!`ACjfoo_-EShp07B zP#LNkIM8|Kr?NyU=pa;5lHkeOcE^ImCDdZpZEOyyn5h^=euvHis3l_0l0lG=!s!v7 z~ zWtG@t7?kM+s+3tz$8OG~(wkgESA%FPU-Wo~$cS($b%s}>6+bft(6xpuWrNE_SKcI= zl==?5^#XFd1^(PM*jEprO-fBt@xiX-7;!k#8r6-ZgAKyJB(Gwr#FgZ01@Ft?4=*8a zpF-a`gFW6IVWDG$Q%+S|1F1dlF{}M@c^BuU|GbMohIvR z+kW;kfOr4X=JFqP@lR_Iu!q41I0UeZ&mbRQ?3D;}AQ;K%fz63<1ASNEA#MV!d=jo| z1%|YeDvt;bV}5qY+XRtc+D3Dq6K+-E#nEf))-oz3FQ~@N0E-48xw*23;j!T&72PRC zDG%#J2g~eq$0QqN;hZYCylK{}23&LO90;}-iq+`~7ndD7mtVk*o!fYI`!zh>{5d?` zyobk^Z{o$~5ney|I!+Gm;lf|w>EIU}Ld)V1oV_D)5FX^-o8nQvq?wmo6HyHJ3c)Pc5;gd$vu44+>tkDY}&u?AU z=GgicCpgC=eSwGl`6v2$R27RXc;o0cjt&ni%RPN7LZ4(tyBPp%DVa_wq;a~-?L{hK znoil)l>m~FSOnQ6RX)}g+#p0@lN&xs5LNjT2km)`X&DE@-1d}cmhFaMs+4o0JAU_v zzlZO=|Gg?A=52x!l%&Z+NDp^UUq4uUvI}TgjE;?^rAHouJ9qBl?|=9YkVf~|7<)zY zd2&hID?&%>XIP>E$suIQ+?jFRd1h#xFXg{LQ((QbLR$tT&0B}E1@1L=a@ZBY+1TyK z?4vAQz#L?xz_k@*e+~1C5r3#sgHBLVn$qoR1g)3Mx208@ThJ`VntFKP$Dda5P*fI< znt>a8Xi$zrMo&+0w<-v#P??I5^cK2I=>a*bmcnz-?N2RqCf6;)QxN5xi=ik}GpLcgl}Fv5t~c>Wn5$%$1_ z`;Ad*qD+3sWR>J#D}k42H7qKH3G0vSV=IbIiRkq3ue%a-n9yV@CoPA4Zc|Mm_0I&3 zC38dNYFbD6(lc65=mACz5W|)tH4Kb&5Jhk4!yhE|xW7ggdV*RzxBD{33yQ%JO`#%v zxEvN}jVgH7CP#_s37)a8TIc%Ui5lxX9T9k`KFQ;zntN`gH3pn*+WMv$UCKWWn708D zt<7`#)Q3m8Wa!AVE!Wi+sUM8Cg~zs9XlcvT8gP)X&K!+`SV*02-2F6vAe03Y4-hq@9e2Lb@cTlk}M*wYR0;U#c?13&46AM)I2QmGlWSiwLK<~vwPMVWL_i?(^7 zPQ_q36>P+hN=8I-OP{s}*DHhlY}h?yDTGkwQY0o8o=g&s=|#q>{1)*A?Dxanl==+sT$;xs$(Qc4aFwk{j`;FsG~NmKc++sfpZ`{ zB4EYG&yvq3L`224yR4e7_SBYZUCwShuySlK@DVZ}Kk6W01_ka;Y5<)oxzC0*z#XET z2`gaM3)Gh~|J+E$SsZ@*D$1HdJ2NIR=S0W9w=g<+Vdiv6a@+64j~Kbjq}@tf?sd?& zAqUYm4r35TA&V4{%sT4wZV6UXN6U*GsOYkMU}q?mrW~16DbYc&wMEdD1qb_%-LnOk zXKP$;H`wiaIOs3qwf+luvH3MTJ-vsg7jNOk<@>nM=XiGX9&YbF#rgIG&o@u;?BW>5 zXD2v5e}VJu2Aj?2u)+V&gK{PK_Kk1hU)lQ$I9MOzV6}_3UZR0j&xL;#>s-9*yHn}=P)6gw}_vS ziWbW)yb!V!TP`a&7R*Bm=zv?C1@GK{2k+c}tG2tL92|v1wVTN+De9~jZ^RHZY_Z(N zCe&`waie$FiZS(Jq32mbiKqjr3%6V;6XhkSUK07*h*He}2^xMv0|mj7fCH=b0aoi3 z|2aWlEm4%RahmrTZAxISWl{-MWzq`7iQG~W>%e*!=qQc);M1n-NfHE` z-!XqS<}(L@8kN;tCS^8_N>zv(Qo12Y-bMfj9aoM6EseS7du%a0fyx8glCg9Ey?HnH0QPl(g)Rl zt|MKm-AXyBO>9Z=F>Dl}j=*zswh&eq{(U3A$XYhs7z0F3E=_uTU(J}5z+G9;+5+g- zW0Td`aCWMikoAP+zus$;i;@}>kZ3;SyB@<_kmN4r(>61Hf6q9}9HDTtpJPNfy)y7= z!i_Ij%sa=9>IEzWn}X&-rA97&q#_`r1amSxthUhk{aZl>#?a3KT-h95&Yl&SE& zc-cDu?Hn*E!E1z~rV`ba!=~|lhPBW0XaY)OmIEL@H3s0VGsrt9@Yi-=zjPDwwOwdW z6=Mv>Gny|4QigbTBTa>OyfxVQ7V_aKXcjHqBF_*)8_K&iSq z1)0^5g-qV3PqGc)H z&16gDnUc$Z&Nxn`ttz926KsjWl1e*U`3y^OH>YnYt>75!1sT?k`krV9^-N+(H7gQG z3QW3z0$uwR_FIB3W9vh;jH;vcjEe@p*WW*)?iI)onHV?!2WpYXmd z2ZFu6#&&DiTsZoszv`U#$$Kf^^o$Hn#>XZ;MD-eGR&W}hnu5OIO))&IlYyFFQ&9oKy;bARX5 zrMsu+iot*+2o69Hq$t`XW$|i}A%$f}*f0Kn>~Q$s@tYl1gl#!2g~DWjBt(-Yhzo%k z0CVlzbXRv(SDiZN+nIjImAQ8z!Xa>g8F~yokc4KstIqkpz4NlxZ*A~9FZ?!MTVBQs z?Gz{54VFzvp`EM4f`(EkGLJSJHBOf`C%d`zOmIziUPv)yYup4yR&*ZXbR0HP*Uiy!UHQlAj)RA+ zEI)>n)*3o(2zfzf)6Y#^k;;-b%im$jwT>#(Xl>6eCnw{%36=mDI;qI825&t!s&Q!2$HbKqb2sRy9e(MgY5?0%kA}UvKUtV~v_S+3NIW1FgU|jmk z0@<+OF=c$AR1+7&SEpBac!E`0NC}&cv3$xi)BVngM5-`i=!=36Gyp3%IIVoeR{7}x z`r+9e4_W-4E-gVt(Uczmh$|;U?gN-X%zDKUWLg}mMP?>NeR|yi#CUbFYa9V1WO6$pI-&2Yz zmFXR4?eKXgjT$8xWmB$<>uTZSb;cH#iiqSkHyc${`j=-f`kbJV5o^k_u>?wC3kyY9 zr%X7W_eR5kz^b{6Ge`;hjGxyVTUW9UVoNpDPF9wfl+&^Z=5{W%p`O%yYm=8f&WEt? z2)F6{fnDpI%@|E6O3Le8N=Qj@DEnu;S7G0(_$F_i?@syTF&a`VG6@?Jz&!NwN(D#^ zv$WDfhG)Q0k5Uc>@ZVV&)s&5eg5fL4hD zs6nA=zcD5`m_t9@15Y0U-#tRV-5@U?11|~i#%U-Ssbq5Xu!Ved4SBr64+gw{4eT9u zVUVYL$hFa8MY(;ak}v}u*kqT2&;Y|qo(DI!jkw-a5_(2K((a-f!(quSw$+#JnLvcW zvQgGo-lP&)QnKD!_~XG85-={%dn*WFHJ_boj~sS$a3SWvwLuP9k3=ei>afV9^(grz zVFg{WdPhh9RA7O}a(gJGb8yW8rKe<4MtVi4;Vg!eKEAiej>uldnQ#$t)Nv+`Go>Pd zeS)^L_p2q1kBCK>P1Q)*HCp8EVssL``CMfVT#|KEiwe{HS6qpS0aKQu}9nGh> zs+=mx$hmFq=vgr7l=m!w7ig*dY7twbm8>UHSf!vOqQb#c z`j(>s>h93RhvlIn1nHHrAzP|>Q%Y!5syI;sd3?i6=-jGk6aZ+zb|csx19rz?E6}eu zxNXO{ySs~>eF^J+kE`8dJnav0etjPo?H(@r16*w%;lj?aKi%QrJM3`<^Ny>2iRb$N46guO_n05&?tUIGyzpXWL!}B~ zcF1PKU&@3e<}=zSys%c0ZL!2)p~oSMBoK^zfGi3tc_AZ^CV!%*l(qw{X+2*z;xH3@ z$A-0wM(@igB$XWcaRaxeJuNB_CE46f$pgTR6o|B-<$T|h?zQhY;34MzJd*k-k zw1Ut=YEGiFx6Ds(XtFJhia^obXkFp9X-v!s;FaP}Xr*RE^NUO*@KNM>J`XOTqOsWY zWiEWGoiy{MefajJ_CYP)U3&h<;8WQsCs24$&ckmXLz;!Zm$AtyA9|{UAkc2ZYd)4> zaR=nSDkZqyVq|C2bB`gF2EFOQV&y=_J5!KixgcsaI7wBL);ob3;KcBj=WnL9sF!jB zC0dd(UfOr*u9i5Lpjze;Q-`#biuTq(He@56G(=2jAKhsNu-%JP=lSMzH^vs zqv@9P*-tTHyk+7!U^mi0iN4uTKNLBgJe{oPd{D|Wb1$H4lfp?NZDHge=757|T0Tj+ ziKXJEVnzu`Rm!Xz)k$ezQ5^%MSYFfepcZ$bPs0EpguTIM{yQ;}9t%}sMSsMF$-<8VG>@WBOh1@sUo`Zm z$7kLMw&lC)CY984FvFEy;r{Ls&VPz@sGsydM{;*)0wo4h!AD8?8lxJKu;wXANc-XqMK)XeAF4~Td2r*uR6IUlCixQkjEO>W2zCjRIWwBfbd4F zuyL`BNxd0LLGb5GplmL=GWN1;SjYmRi?7l|Wf8Pf#qz=x&R%@M-gxjy4FZ;F2yjYU zz&r@}O#LV5j-2cTgD-8cZ1`EMx2)c+%6iG-d_jRE0!Tq`D6FEvM5Mg56}N-%I_LID zYkN;g3blcno+}w(E$tTDMHz>_XRHx{HtLK6sg0CW#Fb^Fmc%99S(Iv{_i&QAl@zhX z@WOnI4FcT5KfCc_bw%3%Z5xf!(XEEthb^o-uJ?EF+WPa@U9Gr$euXQ0hTZiuJhk_5 z)gNQ^3tZVb4x0@k$vsH*q3ZQVr3WHsMK==W`(}>R4o?Vq}Ot?S=wD7XJT>qx(cgaH=K} z^uLZ`SH)pH@~fTRThCH{^$7)s%8Z6Kp5a#F;c8yYrvJ8r;KKLcM)YDd)B^2n6qAT7 z4Q6Y}IJ+C3JUhp|NB7YWD;}KR$D{L)H&FZ{Ud5aE0$z|)oXRmaSg1+ZO*^_b9p>#-`IeI1b6%NUvteJw+J{$y9jdz`$1+12HufDf1dd1S95*ByxVW z@pmd=U_+HO3O}k{{Kqy=3Bv@7*=i(5Y+mNC+r;ol61MiKVH#-p_!D^0mpnXeFh$Bw zU%he=Mk02re}wQfFIz-5E~w`-KKG1DODm3v5A_O}N1~09fy2%tln{G{%clrF8&C%o zl~&&0e9_YXuRf&M<&M`WO=|icGv;qj4*)lq?t}21gAJDv4W^zf5tQ6nlP^j24ntQs z6p8_V_?~kBIiI^;vA>yPp5L7+>i6|zNpTQjxxB(!p7V%G)Uu|Lb~_E7q|SVoS&Sy5 z4$WFt<`^}M7}wNf)eRw>r$3lsX0&lrCk*A>;OI6!}-1sD-E~ylk|QyKo?D4 zQz>kf+uwq$@}13hKqQ9f^SPPZ`aB;~xg*-Ka&Vx8cuJkB(QL1oLNti)ac&#WYZI78 z*EgBE(9(o zlVeJADH{%NVV_ho?p#pBXOD&n=seU*nTY|lg3CwZ8s+&NWG>LsBdL^%cS;Ka%*v+D zn-(kvzOR}~T3WL+d8e`oI#sEIG@CnLm^TsaD$ur=Y*m&!2Y>#m2;TnhkFF2@-Sv_G ztOo%nxS1Gm{8?243NugF(?*_$ao$ zq0w9H+`1Ty5^#a_jxHU~vBMdj;}W}ZF@0RCgD%)^x7couuq+!iSs+a-e#>)fPZ^@* zUN)7|migaa(RP!zyYhiaz+{2iYs-PzFP;}mMu2${jYiZL6y7^0DuzZCfJ0&n;wwGa zEQob9)fIhMpfbVt-+3#IYy`7;MUR@WkkA47O3;!a&Z|_fjD|lI4?Y^7b0KJv80 zK!ru~pU5x_1JtywLfA+g6=xVdHFv<7uu3)rI?r)y(4!5sMci0eqoUDBDQy0Pp6m%G z9z*dZcZs!#Z#%;M^pqZ6kPiSoEwBl&f8X-doz=qM=IG+=8 z=#_2hlPh?D?hJBgN8=` zFPQ??%X6DWrm}fXkIdKQKV^Ci<7iR=3r!_T*%u|zgO`$c&fm#x{8C6YD#23we zQeX)|wT@wrt7I4se}l)f#-M_YSMyNtxN9wPoZH}`L<1Vrq%0#lJEM|6vZI`4nt;ut&WdCd>lD9>Uuo!+yw!%>SPR^N|KEP)#K z>6m`>S{fSUnZTYNAh(r61A$%|^m(U(k(QV?hRnJRu21|79c~6g$KDRO@+Jt!`FJ2}c4%^G@=zrlnf9HAnX`BuKPSM(*X<5JVWs}}83dgEm@VKl3kn1`7tka-Ye=vq55@F%Cd@Az zj2^HXN{G4za4Y5gHT4ldwZ~Mo3iyy!H5QgxED0Qo4ByM7BZ}?Z!b6`n0a+;NR-Fp+ zNpY*r*uq&Fmhwy)|Ga5571OpSe0R*I&MjkMx`shfSj4)wiqkQRzju}{rPMV3p14f5 zCxj|_$bqdN!PXaH2gl*s(5>Toe}(JoEA0CYdpyVfu!D)=x}V{>onenltbK=7uCd?* zCcw2_DPd<5W@>(V&D4I6t5;O5T+uQiLyI;Y@)f1dwJjH?|EWV*fx?$Zf zc(4Bu4-U_v{t=$pgBz^#Pf`(pjpL7B_+9+!<}29f2AgFAUGgy*u~w<8mv;Z7@UcnNroKo-R6lDR{$M2Y)St*k8kp1Z-u>_0yuJL_m^IKa&OxuJUWe^;hQh(#QI%sh|MXybp zWMo4zy6=WeiqL9&lEm$`H5M{usAZ7J#+$Tx2@OUpkgX!LBpX=1la-%LJ48l23Ad^h zS;r=(cgKEzjRzk+!n3QVc<0euxOevM$2vPsWP@LkpTk`_!Kof$(S~LNz!j_t!rB~_ zcdi)?S_El=RSjYPvJnC3=;MCnAS8zXPEV>%ThXSd|IR#=b_wipbQX4`dxKjn?|`%# zUZDPNjKd^FdPp}q|~|K-JaXtlz2Ov z$yAKx_io8%5sY)nPy=h1X|ZP+H`uDFOpcM}d?j@`1>5X(rofU%GOHhwH(_X^1)!_} z1vkr1Wn!xMVz_N(!4rw4L_s4ns*b~8xf*ClIDjjIAG{PdX&;HtuLH8-60h_72UhD? z`-y@-LY*wO!eoOctWm_UxT3?*R7c7P(jLJ7S+Se7=c&XXNlQ{u zga=%+hK|N`h61XOKW@anV>)v=Y*1QjtxQ4$vK>EW z+^U7VKPXcsz_JVqSNBmQiQY-9-tR@0*WO8U&f!u8QLBT3bq>2dvhrZ%UcX;a0@kB51)GqM@{PY*Y_UH(ETXA(A_6ny5-bYSa_}0v7_*8?t zSk=N~Mow1fdI{qku2wKtebtxoiyjv@A6v zyM7A8^Knsk3x68;&ZqxNna-guh09xgz{4uyR0hy47U1*-PfaOo(C71c7qLnpaMJ3t zoJr|wHu3Rya07y{oTz#=F;<3Kqevp-9HYo>&`4p~H~0~-ZdZ6;A=s4Mj&47IDdnkE zP)56@K1*-pN96Ar=chp-AMGf`Y`kzs6VWq%uXBUn09oU`+V{2O_o=X`;*RPG^8gGv z-z{N=dTa~B5;dswS&MR;fMLtZ=OrVDa+5pDTJv&m_5E=(B|z(W-u6lsh%IF=225FN zs$t1NcPpT!Sgrq{3y0SO5>Z8ds%;Wbl-74wj3k>Wa5|%#oRg{*8k_|TYAO_yA7QzH zqLeTM*R2lO%rR1}bP2|ETtY{XT>XgQ~#Y!?sJDH7j zkfqc$0fl^KOA=3(L;h^erbnwoMM-!p;cC3v6oNH>X7tz!o7N^!jN5azf@1kSvB~y$ zXT@aVk;LY>r5P=)p1cn{*7yAULjjh)-K6F#88)5@H68!F+^}+3@udRl)(UEt!$H^S zoiZufdGQU*;I#H64;vInNX87(i-14dlyJ{y<|1 znaLw6WAGt4mY84@lJaW~Esd;#dNBy^&ND}AKrkBqYS3&>Sth}B$ZpD8=74b}kr0pnmwg`APJST>?Xs?xv@h|V<YNz$auQ*=lQ5@e&?NV3!pc^Kt?rgNM~(xriB!wMl7m#w61Qp0&EA@*m0)zMtF*rti8n$MNZL$X_cOjE&^#!V8%sO_y#|3tH)}P}ed5RD0 zBm6CXfG0Tr>4$JG@ZPar@3HPz9FDGWbiA#Ny7L09DX$NP(cm&D;|=+)q;x;!a=DvN z+N$O{iW?Fc3=ijF--gY#F7iRH9r9vfL)`FkK`A9g$Jn@Jq0h~-PdP*B>2*d>B|D&}JhUKY zK2~=bCzzjgv7>AZ8XRLVCCn4|Ho#SRNDSNe@Sa29twF3)p`BE10_%hg7*=kjrKsUy zg+VnTpbbo0vPH(`pWd_^RuO2}$f5!3@a{PD6%QXj!PUhj9$h`eql-r$`|S9lzls;+ z6u0CUN4|~kmJw12)spC`A?1@5aSw2v6HrqeUvWoPiA`KCOXUR3Gh3(w+^!_8a(m?|wxS`CDHjV*Y$ zGx33cu28Zr|Ei7Juuip(d=W44a!~tgcz?BSsF*7z|c|16dClb6Yb|J`dfYtrA8R2S+J9?()*ce`i(1eN{`onGF5v3YTtd+tf?POprid;-g&qxfrFg0ja z^!QXmXr1w1?4taRrfZ53vdIofHO5epxColX``V1wO&Fwk0c_z4Sskq_)-BNXj&^48 zj+sCg=a7lLj5B2x&ShxG*7tV6bHBosU1N{KCtm7q@d{qSucG-0THEkhOTb?y2Mw{D zP}Z+~aC|a0H&X{(hZ4>_?Am3s%ppngET|augfQk*(}$WfhnU&EIhQV}w5cWUq{JNd z)MN?`g;4a5G6ruQlM-`8LKaH`lOna}ctqhM+&G&y$I{SF8n!R&@a)B{-Fg6E{Ye}A zpRg^#$&c9rKC_@e0FjmH89~El(u@b{$Q{qdSo4duV*Z48mVRNVG2YAxWn*JtK<|{B zpjWoJcmQ5NnUJS{*GE>UB;3qUg|uOM2sD)oF%@4q8FdF%UYx{O-cX!|kFwnW$PAv* z2!_t$AYy*FNw$EeS(22gL{8dk_##oU9b@mv*mdNVOezINmJSY!_^n{GSa++Xc&ZLEAQLmImD@$$HpsiBlu5zp}|F$F%@0q3~JnP1|OpW#QikMH>h_?Enjzr@?P z@}K@)$|E~6mGLZ)Cte0C#N*6J`% zh^BB`Z{pQ6r|hp4SW7Asyc9I*r7jt|Cl3!ew;a7}G2Axx;U7~OQ9Z>mpr%_HwYbPH#@&~xs?i&kl05G;n_}`~WQuu}+G6HLc-X^oz*|kA zj3Q*-3<6#QX(gOZ*?h&hn)}W1?0Mt)tcptZZycrzbYO!3p+|3D1}Sv*LEROe24-0bmZ=mipd#X60s@z+z1Tb;kQmfIg(6 zFyoVR>ooI&-1zwnNO3ZTjAJ}0n}QDOnGU6paRU|`t`cO_AX6~x3!06cX$-w`xRmut zS4J)yi%}A{r|n!5rH&{IXDzs$85NurOBSC^BsWOnV|Y46#9}RK__KuMUkfJZ9M))d zlWbo4D$AS^vrY=BR_?c?)N7Q{l5L1mZjSo~tlw%Hg^R5z~(jEB!EQ#r`Atg;_ zh|XP=Mje`9(@dD5I$?&UCHxHPBchftVxhM?6?D$}v|yD!5@1}En=Aq_GlrI_17@Q> zPCgD&y&54jVZW(Kb=>)DG4(VgCr(q*BVq8u-#IrmTOBU`V8go%e_GB~lNDS4#I{=n-d`i2=_IIA5cN zdD@}poz8;vzOyM+02@KO)k-aC4jg2~wHi9%MSJj#yjNbE?(TD9@Re&rS2{=_KuBNki9yr^SEA{wr-wWBS9JA+2bc z0+;umtYaWts7PlN=d1vvHQcO-N1FYYwK`?BbftU`Iw}se+_4aGfjYFQ>sD=Zd+%4T z0%-s3=ISTv&wo-y!2hp6f%%)u0fWk)*|$85O@&}CrMzcIpo9mMTO)6@zE~K&|BuUu{;4{H? zE8QTmui7HktYkWry2!KviNBlBu#`i}cYJ41W#3VL}Mds9bHhZF23F&Q`M zr8HT2L3dfPV#T>%;~6gSk(}dw+{ZWZ9{$X~jqmuoc;e4~CcoR`XOD1p`2_DidKX{+ z!PoJ7Tg7X)Uc-8|$KAVkakSk+bZk3aT3p030A(qg6%2xT!jTMK^1ysQve_wspA6NA z(7KcFMlci*aYK$G#*TegMCDn&=QbpfwN<7mw*2=#R60_bu~stHv_}M_F`|TWQ*HF6 zN0zxx(SGsonacza@@XUI7-?Fu32e*^*DN{!;HWWx*UA=EviV%kQ03$+L1pO)CtND- z(goTU4pjx>3y!~b3s1jxg!M=;vLFWBF;B+8BK2yJtc2HNSTG4!1EOPqynDqsCz;YP zq@Y4lX93$2Hnnel?u*QOmZ^%)p+Ig@Su|yVAWn~-7pYvlK{YHN^pZ`nehK2^*02U# z%0hzHh_qnckooiOQB=$;oVJ(TY`Wa|lp+h7nd}Kh41<-5{M3bL6hf<`2vw+R?Y zbwuUK7iO|15AQv|z5DlYcKHbJKK{|iiVOsRFUjZd%lLV` z)Ly`;Zm{(&)D?@+yI(*@zH6$bbck0V;^w@eq7FCM(x>f{?S+HrOk81{nWT?>8pOpW z6XoL-ZiiC|S9hB9@OyJ}81YuwKofYEz(36fOC}z~fI@T`8S??ABx5Aw+a}d1BrJL* zW34B_N##xnv=j@eif`#~Yt>*10tAOrw&u`>Qe|IQB}nbM3X88FUrm)IDLox3T~YbyEI!ZCC?z02v#t zgE1JfNc^Z|tl84ZxK%gw+M0&)%CgSPTCqzF(;5^9S_k58itkcAk9HQB{O~z6ptU1a9yOA7uWfP;Ib3ZLy-L+k zuA!n_`8(tXQ>r{0>1PJ5pMuw;UPYXg^Vq#0wLw5)vU0g6)Ct$OkfSt255_@Cm3VS#A?9> z4mYDHpmcE579$@QI?0?ehKC1n#$+VWLVcFqa}ZG(=VNo{h(=Bb$O=k-7TKs$R?-W_ zhrA;%3mq3&4E zcW&RsH-7XDEUn@9-~4^_{av^VUViyS93L-(7@Lik8K31;r9{Cfe3yruf5@amH6>$U zMfq&X|8;7HMx2q%4)`1`2KwKyr`3`Nn|tiJiBU&^`B*rF#?kJ}&jA?C)UVTeYdmu;*kjm(omKGZ4m9yOz?D*=jt>zfW$88$h-+l@&U#%4IF=2`$mDrl)YR&{vSN**bd zkSJ?Dji#x2{0mZ2uXwi-S}mP$LaB5C2YvEP5fIkrDVXq<11`B~*-G0$x|jN}@u(;4 zT2fRq*jeuA4G~Sp22+Z?Ak)A=$9Zw%EI@his{k*XEG>KH^(=%U(5VgRXi$iC2sSZ% z%B?qt$ZOffbh6j7_Gk^(9dg+r-Jll(M61PZ$YqE@bg3a@Krh#@Z2AFLe$64qC;y*Q zyad4(O_oTIQi;j(DIrJPqS)N*Z$?`N3=;G-GQ_Axmz+IJL?+v&`6KW^urQbQC~jWQdO) zk+5K|31E7exdEs_K$G$Ss%rSM^I>jNmUK!#d5~f9#73Sli+xVf!X`mlv-;o#FwRaz zZ$uhO{*EctE%0#=O|v0Tl5Oi3kbu_od^wZLD>%!lXEM=X@(bXi+jf3i7@8irdk(VH32nF&lqkE9n}qB%>-t9caqCI;z@ z!?Eevresyp$L(>EXa!1l${EK7y;d_R^-VwPluw*WiHz6Dskkd(#}4_!4e&*U{enR5 z0{$Bc`MVDLlNGpcRQ5PO3oXKOdLG?oI}zoWEwiq}AKt#U#npfP0{W{4L5~dRDx<3Iewg**tSXQ1W`?<~&pu6Zn?g1WntE zh7xHt$8L9xr_Y{af4Ic^Pu|1z{^O~tzJR;<75N3cBzJIIPq1lQXje#6Hab>p1n*3( zQN}iAtQsTwgnWrj+n{ywD>CH)4c=_xA$ag@Tqb%C>w8a_+3@=3V1kQi%IgJ7rc4x5 zA`7~(^wn^(V?cPzq8AO3S1#UweI}ycIE3s87xnShxL85rLWR_dKNLf}Ms+|$iZwKJ z?;ORkZKZ@d8gfc>=g)m0FJr`)=?oA)+g25{G^yCk42n;Ffalio28V<2xPeqFkAZt; zGw7(7eA>ciq#}m_O-By78_V=!1faf`)lc4jg zPW2cjxL?9&bxJ(REqo1~=6Kp1$o7$KF62JICiRqLqu4@eR&xCYNDQyCS$B8#Gd>9U zNVNkdsB5xna#*cZTlQ%fpMQ_!!rwKRIF&*oROj&LZwLhn`UH{W=|{=DVJxkLcX$Zq zs5FsCK8o)?DBIq>o`3HV30FhnP8$?ePO&(l3L>9pAtMB3`L4J~uXswT7P+KoX>Thv z31OF90;1})w1ZK~uBmF|7_AgIG9ZFlM92}#XdSE5>iV=}^WAIcW7Y?y2(k>24i(yM zG7)%oA9}}XhJ8O^-}gB0&pwrU_XICukp_{48$9KpgB6<&wo47@5cf1nmFTsX?ryYe z4aUOobLWgOqMP%q%$hH3IzuUV1I|mf#sE$a(tlZR+^NX1@$*j0Q)EI3pMzA;WGIka)2+9f8E z4PzUW&2p^d;H}pKY}{(9q9#m56L1~U>71}OlqXA+4?LG!P{3DIj;yfZ2|6hY3gbm> zJ~m3u%hYT{Fk0gl*l}#0z)QBZWa(0O1~j{l$?A{ za%>&ZV%~wi4}Vp+6<7N!eDmT@@r|ed8XsMMh-X)i@x!Oz#IwVLPyNyS+UZyD)sr{z z;?Z54Y;NIXyFj-MOA8OBsY9g0nm|_v-n~M5|4>nS?hft10mB-Vo_mxG-m&_ME4{{r zUE(30;9WezU-{ekSNKzW+u!?S869SL`~A1DY&U>7F8kMUI2`Z?U;cfpYPi0>#^+vr z9k=e>t~jgY%43Rg5ioN%+nQ8}ReECDPPDRS9Wf+G=Z(1Bh?9ZL7FFg5+kjCC;^=UK zoHCa@3o)6ZUcdwakofQ3VX{_Z67n)7Uj!A+=PKA9Z*aI;*|_B%*2Z=&Gpf^XmV|dt z=_p4G-5Cq-u-6>zkGJT5D8ROj;l|Ga{)GnoVuSqc3i-bc_P`m#%K}0M*eo|%!eXYW z!n{W;qyvjJ;LFE2f7Ljz&|yVFt9LtPqZfCH62!&^v)qeWo9jbc=8wzpWes${sJF9`QT%p7r!W9z-xE~cjN>|wp0XH zNxn(ohSlV63`)2GgFD*NVk_#Q4(P>mqFRgtHKl~e)obgX-?_43R00Npk-(E&2%kv3 z2_4M;qf^G5Ipi&sbL9ojc+T;RO0fm3nrqxhi{Mr?qCO^s3@s-kIW~p2(%vWr;m48ry(PzA?;Ar@+s-HqCe=c^~V$qv*mW9v0S1Z zW;Ktx3o9<|3Quv4kL>BEQtxhXiUmiI$xO1yn|CN=ut{e%4gIkuS0$py#Rf%friW*h?@e#V~$`lKguOG@uzxo3%w~ zCBdaEx);0?)1VzL1L~UV3RhLvrO9%#$mY%^&hFgqum401%ufOfY!f43jt%@wGXi|6 z-k1=MiD7LacQiBf)#3XAR~hj#{1P%By0I9Mkjo9lt`E3Z<+et%+d!XjOUb=bVxpA` zkLksT>9`dHCmU#UBkYGBMgCk78`CS^&~^H%xG_s2rg0n4q!+*wspuBh5t-r(m~g;5jCT7 z!hrQUeioAz7yTUHJpVfW{YU=>k1rqK$;CZ<|Lhz8AVYvRPCk!cyZbA6{q!}wu(^ek z%@#+;OF$Essd;T|26hJh!Fd6?#GKMkLtDqT#_4Z0#ItgM;mSMC{Sx=_6hFixd;{OZ z|A2qbMeeANbLLIJ|MLd>ueQK1FVQ%7!uiIhp5H^rtz!eTc8jP!vKiKYatr-dHowyl z2z|Od`e=qRB)KwqqVsd@BWNpr_U~Vg%}_P|{BDfr;WPwI&(>Go_!?fj`#MBofZ;76 zRD-ClI+|&dX&)vvhpGsvZ18j{06igaDNiRXGC-X=LeXX7Eo7E;=UL1%wi8%qndOI6 zD{wgLF*Hc-i`)2py_!;jyz2L)(!d)VCT=QoqtQ^%sv0+0_85cH;M7WI43{$!Z#Bd9 z?h+q7xQ7SN9^!`&zlVqCA5U5J1$hy_DPO@$?HH$WjIAyeq3KTeSx)bC{=L1L6ftI1 zkZaIHp+2BY!r?%dkVbndU_d@V^SY1Sy`re{iBxf*wUI1<@%`o<7z1`h0z*NE1hx#2 zq)-7D1M6tkRHdMmb@8LuV3!PEP|tvt>VZCsJ^9iU3i@ z)*Gn;@l>IVgn(#PrQnOg=(COyZ)mCm$XAq8zVQoR4OK2=hC%?O)$1HNSM@+N3<>uH zH~n36oG8I_Le1yc7)*b@$5uf-0fuA&Fkz*Jh}_WT04Qw=wapW$+N&lKl?^Wi>w}HI z7CrB*_&t+1;JIbDDFdCpX}2LePbFGLaDhLV9=1{n&0zKo8xjBxQS2mE6MmA<5`4}pM z5|I&>GQlTXDn_J!UL(}kXf3F8k>r=z@XU7sW0fZxORbIh!fXP%ZRqeGJ;b4}cy7<} z`0y0}*ZJS!iGA{lfFrz)7w|=F`~-^~L9xVrVqq6D+OackvJyQ~wkooxsasW!AIZIr#@Si|0B`caET)ZPgbA=Sp zu%Q?u|0G^s7M(@6whZ2qtMT zL?EkU-2=YwSPv`iJ%5OAUHloobN+wgqy2|CyLyPX&%cT1hqF)pnLJ%i@SnZ*pW^pk z`Yn9!_%+-)zKxU362;)^kN}22dB0;Fo|eq5KD$PH&gO(NVRuFEgDjduVCxZwbnpXq zzT(`U<366^Jv_j7{T=+z_&VP4ho9>2eE$3y-hS^b?Djjn@j1s^@?Cg8;17TKpW$=z zd0ao(K=nUj>VY^{{lkG$&v?~CW1Y9au#7&e;?*27`I&iJk*G}ERKf`nj3 z0i!&J4C@gfzqX+Lb4CA38~MAX5@7^eZX>n={JMl{>K%bxdNsOeg6>u{=3tR%#1WbW ziMRvHFKl7IwB@ZvnO~_IFyXPr?mrVz#sxP#`hpRm0|2@z{Aj5LW&~;Q^JgJ!JrX!( zdEr0(mEXcY`r@wyU`TWXalW;4|QI)+3bEjwkGG88qi@n>p&&fE%W${jJs z?~T=9E~UzI%wo;e@$BLfkDffiZg+vV@4tn^`u7Jo z8Er=(Acn0tfaEf5<#bZ~@bFOEK>Kndc2}G}Po478`8&y)O^^&(^pt*)Pq6t2g&H5y zU@^$FmWn1w(E2pk=0Tw*ur`uRav0S-V|v3X62;>HY}Q+%`Hac5t?W>3L=XrQMaVAT zKvYC==rIUW$tEYc08}d^43E-t&DM$lG+9wBgDRX&md?0&rxUNyAXbcbx+Fxk~$j<%X^v6 zRYNpad4;EiDI#Lqu%(GWXl=;>iI=rSP?D{Lv%;_vtjPRWChr*LgTR$3BWsohMux}W zV#N>6JB5~_l{bQq2%Gx+g9$-kV=m45l*;g95!;r)(ySqT306hcDc(kmr{tNGk%h+J zqg5(FDklsbJ6z-0`W%n1&hR%^e}~TDu~13{s4xll;cvW(#{XeFw~S|(K}pVU}x#JktghpZoMe1}}dq)H+AW|`0uI5eN0 zAu`rvuuZIzJE%}ig;l|(rE15{`VKSbGke5PTS^yKGb}24EWSBiv3prWmrdLLOsoN^ z1~}#a{+W&qoYqqOLeiVD#x$)5LEUi($xT<7Ht2zyei3ZkNw5uhJqqw3LweF=NSaM1 zKuburJbitpNieI)piX&MnLq$ua3Vp=E>Ax=)u%_<=s_)F8sp3I;r7Ntr7Jg@dFS$S z(MdLiA!(_L#&g3!aG`5}JtTa2&S`qmRObPLCwNNffu%{NC#Wka1v;v2Aw=eREq@N;jxfz}$Km0pwagsx?S8xYV0 zd$76AXlWFr2*8PB`GTVV>K5|F4e%vHzcti3sEpg35;4IfC7(?o|9FA_xxv4=)_G=3 zNyx2})P_10CyqrH9R1;oIQy;B*kmQWnd1K1$drI~c#Y#yYUF`rq+7~7wdBeEr%zyi z@}zv+B2oj^%qLIAiP=OMP{j+kZ)3ALida}^70q*R1KunMFqpghXPT8_m>IIv&tkKQuyze>CE>aBpPExdMsN#+Vv4Qo~ zZ^*Pghq(n)nzmcUGZzEm){%u2xzS~cyjR+PcP5#^y)DlJpFjE)t7LJ ze=J|YD|!bn$|;Uyi{>rjZ<(IsG6rC|0k_koXuNSh^m-HRd~#bFTXx*BbL;X97tpy9=?fVw#fjz4!t zz|JyTJD#Tz``3i|*_INDm5h{7CM*)olvxhhG8U7H8*WjRL!o$fdo>rCXw%3x2^LU? z!orq8iF429wi>|Pn9|#yad?Ib9gT8p0xft1IF}NpQN^g^^v-u6Yb*#;7TDmY8q!(x zOXcRJMIpJ|gAvd?Ni>&itDP|Gx09%-*$|gcZu?91$S8187FF!d#M_|KGI^!Zj0%@ zVQrTx9;K=vZD6h=*#J|L2fRm`3e&_=x()zxLMR`3J_ql(>IXbopW)B0zJnk34?dOp zui+S5+{PBiXtpqRF@SyvO3l01omRWX_flt@5xxFO6_-n-V~va^I64!TfSdVyaUN`- z=;SH%d@xdh;yH{-#Wi~q@nNfSC3H7_{*?n5Wh88#Um^8p<(R!pm2)1VAg>Jx#1ZK( z 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ūwZl}uNzlx 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 YMP| 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

%fDUQ3LxbA^9?vY6%#ec?HT95ksu_iH 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

;!Tr%14&qumWnf0 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

)#DtbA1 zx;zu$Fy(zlz6{d3k|IBIH|YlS-hH!K{QTn5PhOni>4RV4U;W|*e)g9DHgCJuw~By& z=Rf|TebfFM`Pru%T;JK1^BaQVR4Yy;rSoYM zFh>ziF;4_5-#h$+5y>NCim#Xsv0P0gxG<&rb~7qS1~90$T$pmxGeU}Bzx1&-IQ9;J z-Ftai*qA9Xi&`d{yHukUgN6YV^byUarPoEjTCu>Dh_z$n~>W4#K3{@QX9qh^BmwJAkT%O_l@*EeNGn}5i#&Z8dSW4JitG|WN zB4j=R-i)>Z4{y25k!^myuapSo7B+_=@r)|EbZCoCVYObxCFCpY?jFVC-Z$7T z3wpOP6a^rw71q0Jtd-n{wN&(%iW7E+YG%8p3Scx|(FaO_pTq(@1RdUMFWPlV-bs;O zjZJonCMwfhaO1pFZia@!*r`L|8N}w*>!XWpsNAqhF|EWSIVFkF`Q2n(R}P@_5Pgf(CUfP-01)6$EQ#stG}z<^{zw42m~k5NlO@ zm({B7i`d3VZ$n03O_LP20?fRLdoC1ithq5l8Z%lhy`@_I?V)6oD&C!&>U`IuN4Bz4 z)b>_05{yGuHh>{z_S#eegZ~opW*e3zpNROitq%Aj9DG)cet+iIcPS=;v{0z!0M(Qk z>ORH)Rpg~IIe>S3p7o4DG@X)HG`-MVR`i$!=CkFUL!MMySsG|Ul^5`{9##MyHA86* zbyBhvo`|PUp7B%`WQKbTZH$_R+^kcPz=28GCNY!^>Z2jgvs^LWxlCpVb$gn+WTb^i z#3|c!Pv#QG)1o1hthvQ=5ow|=%d#52m)@E2q$yvwp3m2ijjP6IZwjcaaQEmo-oN)g z9=`kp?;O92zxBbl@oñ&*MjW76-e}cb*Z{tcfSVA8~JZ_t&9Rw$O$C;eszOAW@ zaBgaOUuY!dnDay=v&0$Um(5%bTw@+6H`E>Rc>0vOAtU8z;$=92s2Q;tA15XG=IEK| zgaJMjD$6*>tVq6ms2ghnNhoXzgBoLysl=^&CYdp;+e8rW zTt2s{h8VM=VhrX&rW;8=QZ>#q}d#c>wqmh`v(M3m4tE$N~}b zq_*)QR-$#btcB9UEmwQx0Gilc!n`e;%!(RsFIM9 z8pMUHLW@fJ>@c3EF>}TMSkWG7#Y!Sip#ip=jg!_0QA#Z`7fN2Frcq3{@p)t-1$~`1|<@M8CTb!+P>7YYrAZ5c5#Nwiz{4QUBP=N z;3&2RDgRAqWZ*B-^v}P2O5^E;4S#pAE5K;ER_~Z%j(w=%2plU>VAVnyq1-O&3fdz2 zZ?(6Nqr)Q{-?@#WqdPddeGA98Z{y(T5IZ|-X#U(9F=S&Ac4m#3TOl2BMDSSd?wt`Gy41awzfPltl z3@@2_$>w#6wDcjdEg5_ASwu@QkswUZC^r(h<1V2UAUC^wXN3j6mx3+dBdsAw3^Dku z=&H^(gTp&jOQiml^wlzw&5LyJ7Cz!K-*_A6u!U+xJUq8)Gn-Qca)=qtwNcq56XRn7 zyO}Z4jDRv1{0W!NJ>k#jT(DG`s=AQ zNTrxlC8(}^|3XD$4rq_()m5t5SMri79jW388MP~6or4>^hZ!y#zszM<77zo}8uzA@ zrKHuiQ9363BZ>g8`C@WNQv*R%MjM;kxI?_4K*?pwCXalbRJDi#twA|7Hy<`KNq{Ps zG%X>YjlfAAccEvrDQm)&HoSBD9**~K;pp%-{`T+vZQMD$_l56+M|g>c@(ibbg=^bj z!IJCNvIh$9DRsxzx7fBVZ8JIDb_$b7=n;puMun+Y8o^L0DnAoi2z;D_EA_H92CUF4 z=_-B?D?ny>`QynCwJp*fV3kx*cE40cRSh>a(lR#e27_4Vz&h1VT9K%AZYXMPpc;#i zu0Cv!l5w=mUy^8Ma{wsPD{4{fDNl%LK~Zg>FPHD(iM{;Fd#CsCAK_hm3wv@OJ8}q-b=0Prq9RuHmLxNv&i}H7 zI{B04+Ly&Qn~j{EpUaD9r+ECy$N004Uf`!c$6G+)+d;rr@PR$L#>JzK?SlpO$l%W) z{syoMacn)x1KOWr7+~4tHUU;f@1O+*m`ngqhzK{>*X;h396DrHyldvGI*vaCZvTF#REc;5B>zTkC<+7v^b>ws z6hRu96*?W#P9J4TyX;c1y%6}O!EAVRZIXGxfaN;X0>%G|i+2gB9ZK>ZOC(EKmXOL? z&;<`aYTh|QS!?>By;J%s*t-Sn-8QV(7Lf9klVx#}pqY$M^c%kovy5+2@C89gdH&~) zvya0^?iM6xnHpNxnJ~;ErnA^qg?Af(zMO_9O~8g^xPXgPm`>#g;DV(Ca+(r=w5XL= zA|b%>d;65IC^D2DWHD&bvw-u*C`!K}i&w2l`Dj;g!_({2n4s1!7_nuF5ius^J=T%F zF>PsvAqPxzND_nG_`T*JN6AgwWLFU2#($UUf;nah+<3@3A!tfJpyHOi_obg*=hv6m zE(=ah-@we!=?hlL+=F=UM1)KSf~!CAj^AlygH zrHsQMW?44U@MIYEd2B?L$*zvm*!XM7nGQNrHC!qF(@ zL=>_*N)g&eY{ON*UoTRTOjKj-Eq;z`@67)Y&NTVbF0>^Z8*Up-Y94rp#M%8`$HdF&U6U zt++9x!oVsDGY9AHS^zrDgq@shijx6Tp1KilDnn4<1*GFJ#j`m~G03n-NkxV+Vv%sl z99TK!+VKV1uxZdXh$R{eo3gn(?O6^ln^+o9vazic038-G^J#G3+8WN!hn-o#*L@llT1xb37NYY2nfXG`MJG%b!v|ve(Znxi(lfO zeQ)b;PTqE@ZwCQig(_e%Tz-0ui%0I82PXE!++H~J6pBj$mJD$on_wRcwXQP+I4)4a zlqx!nP}oG@p`F7NRb5hRc}33MaOzAUtQx9b!Qk zn*?j?DH3Z~5~MPvDSu^93(YUtqIc_`P{G0`58~g>-NOeDEtuT21DI8>!qrhCU)Awn^!= zwN#GuA?+1S;2@*VGU|(dd!s~II3$ueW5Q6<+%%p#2ZEVfZ#hUsDp44XmR%>K4&klx z;fu(@vsAO;G9R*6PSPs--F>v7G{WW?p!~aao0@JmbDRPKZs;0YkxH7$I76PpO$Plu zf1a@rH_Bi^8MQ#^cjfn~Q>-TkENZDV%ZFR2Pe_UNip`Y%2ETEK+$tx=mB~ z__gciao}Kmh&#u3vAaIN;oc#>`N22Q^ozNB7dL$5pW~IE;><5`En9RLBkK%JW560p zQb%_~#|DcnBbL+z$|2@dy-ijKrYfj~(%!uWsbXnCva%o~j5h!)gTMnO>|j#*I2A8l=tZ;bJarM|_`_R2VFyNVcf9)n0uCfuA zZjzcX%RzWama@V3+E9&{l`LR|6H#?dM0$a5T1K*%*S4gC(pbu)q<8`JOj6?Mm1Yx% zoh1N&K!CsOFJqt*cB0JVH5T}7I?oh1{sTaoS9Wi0yJ-Q)Ld_(BMgvsWG0Ra$E06GfUcs zEKN{Bcd2jCY>Z`mwsZVj4pyv`3xdn1j?2@uf7pP4NJ>uP1S=%Ke4duuG?YfP zB|Xh$DjF&2SA-=fpXroux}veTwvx}&d6)k+y)G8Aoj&JJiFCC7xXdU@9=YJPS!9%>ABw2$vnp%kL6D*dKTUzsTHMu|8m8_&;xpf%wJ zFrmC@Wo+XxsdGLp6d4(*803DRVRamOs|*Sas}p*;WY99k6IG|w{4$Vmog{x z)Gw^N(*9TwK&qCiw(8E|t_`qsCRb&-pha8_1;Y#q?v}C_9?~mFSH^YvID3leBEw$9 z`gc?tisq|$juNP7xM@vc-E7@q)`|<`$?@W#Q7VpBXxZ`tccR`$S`$ht6=zoSG4K#5 z+DajJ_91K5y1bLO-EscvHBPTD@kTE3)L-Jen;+vZ?dQJ*HNb8B4f%UG#MiJd_tD4) z5Zb+Dir~yDs_9r>3cbz-^$_=3cWgEroSk3zvuAJc@Y7G^&wlX=AN>`8?c473?I7SQ z`|%I#cimy1Z2aP(Ve`Pz9~%6*tDm^}g(Wft1O)kb(tp^O0RjPmbpVTV#q+%W1V$NO(lw8E${4)3qZk z^vMWd-tNd!Hp-u+h{l>LV$BFT#vE~~Iw@`mtJ4WCMMc59spaow8(_I+xxJ*4J*FhS zctrw3S#W1j!BR+>)e3IZAagX5KuvE(QXix-pTA!CP6 z8{8Ju^ zsX0piw6EyR_TjrvxFHi?D%vLjK~qlMB)Ify20Y_@;00LBrejuFVB%ebj9W`lQ0{CW z-{)Wzg*{AKt6td^|2vx z)Jl{MkPR^kw6-mvx7||Bly57~au~`=Q}3dn&TMoRncW8QmRmP76b#H$``)!IFsSr^ zRCe$V$R?VD;u`8n6owsH(~dEk@EHLdP3OcDpxLa{i2KUZP9QprL_U&B>MSS{ctXvr zwzI_>@Z4VIIUL#Dc@U>fNeRa*MnFP#bNDoXJsieY0DJg`**KQ!MJ4PsZ04pi0-*bRQ9?#X;t3waktPS$2iOe4M9f7h<8iHgT-?$t=~{iO-D2% zc4^-+f<&9#u)RRjZZ(FuoqPmwpvgGDaf1=-bx$=J8RS_DRptiIj!baMkEl;NFHo+} zuCic)gB{f4&u3ho$k>6K`S`4g<_0LrNxqP0jygjZhAg@_dv6|0?bt-NK#Y zyVzUr;rQSd?%jUp3*QH?{1PAABb@mquCT?{1Jc_O4Q)M2JqiI+!^XD+jSlrx*e-?E z2dia;xD}{1{P&FI90Ee#8G?y}SIw|YceiMqXFX3TLh+QtBQ5AJDr!^nS#?bDl?p4M zgO1PMXraQWU#nD?upxOdLgqL-%Jxf5)S%KUDmm*~{wvzBQXx0e1O{MOOBv@RWYn3j zBT>NNkUP83qjg0sLlo`{`pG%Yu7V5j6tD4v?Jx1aFaI~L{Hq7)-^aJ{HT*FSoD_>&)WKY#YN zGkrS<_{x9$Bl}yMYdL?g#q~qS_JN9j?(mmQ^-SScs#pweuI`=3SNeavV(g?KPeNZC zWMp4=Hv74sRL@LmjFOVzrIr%S^blrBkOld+x+OxeAQt(hb)jlWaHHND((jbai{u6f zSRE)Qvoam3d5L?)JPBh~jAZrEgpMSFyyRSfS08n}`OJ%^Eaq4iW|=22hyZ|WR5M1V z^Yh)m&4YhoL*Dq=QjV03YRJ~K8UwVJVTJ|wDz?6tJ-VQbG<@RLw*@OPtT;*53AR() zdqHKzhHsJ4PTWKeH+rg`9g7(re@`a~u~f^6go}X%Ts6Z}bf8N$q$Op}CctI-9EJo= zs49`7=r~?}6dTB~{q!4=O;Wj67*TU>5!J>bH5w1pn#|0wTy$J*BI{ga)RC1aabr%* z=PfN9)0W+3K+OC`b2$BKK23};k;Sv&$?KH`Y4=H6AejC{IewUqP8Y1Q$i87?;FfjH z4)KQ7zG8Pj27HP&*1C&BeHTY~=Sw}aF1J^Be)=3Q-n_)ilb7g>g|h{4Tgn=gT&z?o z@x`hlWDK47?lLCH>91CaVmBM$BsAy7&?aD0d>NE@)0diCZiql^VH)~~zpQ+A46x8> z?zzo_R7SgSD-%+78O0liNF74~V8u-t{C6iH5#3AeY{i>!7M_HQHkPN{MAbHn9^iy= zLT=_^N5+-_NKrs!Cc>4)5|wTQ3_~`KdXOE9ty<#^MaY4%bdkz8eGtcEb zo1)x0dVYUW;KpG4XekPW4}j2mAZXR_RutY%MLE#efbzUm35$!QOxh-8Lms*<8=zR9 z=XV*3!NJ!N#=F8sOlUG-BD2f}wukRYDg(-PXDP|{8UcHO_^gHyUThFA_~#9EmXZW7 z1GZf6G8J^5gJ_=^JT^u6`bhrhgx@*uXDjPPD3N5~U;*pgDu>)8uU?&o?YWK4go;3| z#51kjc8Z4avsFz-HBHtg;x+UZ0LKT1xU+wZ-SrOkcJ^@Z@cwUfCwz|AxWF~8d<$#6 z?oTu+bx?sW4Y>4Ebl+knqxl9IPi_fi=6lCsq+u+5pvLXLV6jkv`MAKxJ(H{`84y>D zUz#?C7-X6%Tjn@ttxG8aot%K;J8%eBP(E_HoScnZbmYKLSx@H@%W8SzH5ZNhL}{mq zS~?d=^?npMm+Cm)k2xsu0xPC6EY(FihVPblUPD{0ft?k3Bk||&YS>fb@8UE2>OuM|xrN`6{~QN?ANzg>D*I?2YJiG8)U1lvgY(Z9Y#wwh4;}v0%-%q8 z;lM_qiyADT@8aRpvns|iE@|ZFvJn$P*<|DpCn#{<#9D&wvbhtdOn2PPt|Nt1If_k* z_9#AL3WVZz+PDFZ%?ng)mQ>v+V>6&5UtH4XmYL-kb^vKn zbQ`^^ul@>n`u(dLdGzH`1*Wl4{5oBRQY1@A;Z|*y`j_l=Zu$v?N{Y9#MV~1Fnalu@ zk>BewZT|;auvqjSRI@&=EQ~A=mbpG533nZBEPco(OL>F=VnWJZ6Bx$r zj8%5Tkim=0s)|XAqk|+ajQx^HASFWFTSY;&icbqg)B>QvX$ zlRph}A*9%Mp7G|zB=8zXP0v%CI20T@+yG9`?A1bmA)9f`P z_+;4cL>!AGTgS6QsG-wPJoO@g*VdjY31AFj%RNO|K)0252q_U5pn@cB2}_>AaE}N@SgCaBQ&&fUw%Q6?tBjA}}!-Ze>R_?ZMR47*J}R zX*|0u0C;GuvqZ+{qkWR@N7aRvIDshCM*UX2>m(NiIj-`WG+olkWkzdfSb@9R&Q=e*8oGrgh!^ zYK!ZKi)xop4!kq)PD$lQ|vk1U2Xn!$*&Rzx*{K{v*TkdY}`CgWLP zN{O45#H}{Z^u9ZbFaNcTxE4fC3UHI7_&lT|qnUZYF6gef^?_jj-pK3C%^Vu4wHlY( zAl;9mr-0(z+y-qtC_aj;SKSnSi3OKP+SuZ4IEL7dxr8V1YsTQGPa= za^O0A^{NSrnwlR?`LkAHOG3C*1b2Rah2wYEA)gc@EKf*4&CN`FzD&r92{R^^%nZXp zWJX&DUj9(<>PLfL5V_qLO~vHJ44|#C{ny&0386h1-Pk5*SLQi`!=$92=im42k>dOp zRwUruW*Kt3lUdPH)(Er$KUV=OIpN3f-(9~3t{!oFhXK$6<*yZ_;bRMwkvt&03eair zQI+Pe@f}EzCN+HgN{Ns3+Vxl|P+1g9?wNJ`^J@D07`}j`?0VL7STHFAx?rV|M=$#Z zS;YWOeFgO$tg-W@pIO_!!D3rnpI?xkoUx_xU3Td;=o+;AOsHU%GPj^92}vG6s+CMp zFwBx@77S9j1!KBJNq-HPGMaT#wICx3)6na9vyUNBNf=)AS6bBj<^n9J4EG#Ur9xt) zE3heH^JO%vj$V-}1CbGv$ZU6)7K#ONv~lnhR8wFPk;v0QT1Hk$S#*F7O%N?}+p~|7 zeuF)mV;~l^s3aLjf&k;oDv7r7aO3B0K5-Uu>za2+o|l5@y{7kHWEx5(oOb-@V)+hJ zn=Yw+=XTCwU{S+&{2E6^CLy4QZz0)jBAq*N~$>`IF%_JIZSpNe|MjuA&eGWYN--HYTu`mwQ$%ri zaD<)p0geuj@!{R~asT+;FMJ<7@i+J}9^wQSxbh8*@t>U+=!ywcqG1z(0KG4vI_WoI zzB%q9D1=OfuxW`o)U=)>VUs@wa$G(+lLw~77jq@!dKE%Vh4Gs*qqmGT<${3~7%`DG z@XP^3Dsd^FiARn@+?GPMf~JHL$%X=@%TS>PULl@7Pdq}VA&Fr?acim?|9@+h+JaP$ z-`aj-7i1y`?5alSppS-Zv)yu|mGpW=Vo{0m(8^;h3m$^pJE ze<#=geiysGgO#p>-69c{>9moQJp`#Bm72+I#oV;_F3Zy8^5Oy~ug?9&qf>eE(Np~J zM_YgM_-!Zpb`bDe|M8EPZ(VM1`l$QW1M}s9!JYtkg zS#ayy>5=uKe#0}Mjhhw`xHL-LWs=U>KqRnK2zZ_s?vwS984M9|>EMaq_FEoLQW1^h0!3?lD`kjWOZwQowjD+L) zBp?nst8>^rWcBrDkntJSzt{q=p8}tM*K0~0-q%k5+mx%8l}>G{V^9z_g%@h2#WKxldQh<^XlaM6w7vl)9qrC~w_J;dgQu~v zw~^?g!55$e~O|`_((2F_j$G zg~g&xHWAX{fx*d1$d)DqjPm2M?4-OOybn;8H^@$-1=FmGN=hAc(+yqaiO-I~r zM4Os>40I&zB06HtlE7)5&oLDpGK^Ebd8w&tSR$=dK`x`I(MlUay&IhilFANGLcb>0 z(Mx`SW* z8V^$G3@EnBND@dkM5_ON${CU*@n@`I)jRPW-rhUJt-T}c?(X4W?+EvAe{m(*f{rJ6 zfpg#B3JYzDeOT%w&aQ}S4*CC;T)}LK6NZZ&t<($;o`R;HWD4L_VPvP5vQc`ZU<4vV zO6}*Q?`tYAgt4J{%SRJ{TcrG_Al_*p8r<*qWkhKyyxG+5#GTbZlPfhur{9c9x4c>O~$4qXdeR_ z7nqqZ%YuvROT0ck$MdHz{gYq)$p6P*yue@o4F4}O$=e@q2LZpe53zlIjf>B>a{XBs zdkDeP=KjXIpSxg7*Pyw=8%a`5eOqQXr(D)4OEr-KF_{d){;Ej#nNOM$H#Xh`(WH0Q zF>-g&vAT>%rj+beG!rsKu^@(Fx61}=3_Gk; zz)|k?%pVtlZ56&jZFDesSi9VSSBF z(p+Vc8xxA!if6>4*c!46tnUHsz#tN^oe^7uBC$g>E?S)&?gR%qFOJN-4MJ^9$Il-K zw&xkKhD78L8s?Mld607>lenW=El+8)*M=ws>=PZbmQWe9(=R%<+ZKPPEasRo9|c;( zMP+d#lwu}VqGBE;RSeUl0l=sKhvVsAvKaM2_Ah`T+q=Q>pSCnIU*!|Yxc*ry@2R_# zDfEWnfXajVr?rUC+HM&z#rbIco*i>U;_wy@Me&BeLgnlG=)p$h7E;p1gyt(xK zIoQZ$bv`wRhT#QvFPNnG06AewCM)F>zgqWfB8=vO5$zWV7gMpS0$HUWdjfJ|D0VOn zyEF~tFh&CAckLB=QF+u8315uEo<8L8LKRl3Ug~q^G$y6iQmg|TQF9(r>6DW?H(~Gw zZ8Fq3Q%qsYbB;d!OiQQ%pb4}y-c77H3>CGQDFZnquD`@MOFSbX1(m^GkUvK4)s{|@ zk&}O}TIt2vsvPO4)Rr$4!^%jrf#y_UazuXMP;3e26^r8EeE6(uxK(I2@&i%B!M>tIc3W#Q1b*fqViI_baLt^_&syAGQpe&SA*piI%$W@(xxL0>_lLHY@q_ zG*V^_K{ikKi0P9|BS>oxs#Z|v5ZjY^U;|p5Al*#CFvCn}Q4i|9uwH34aa^)#uKP6J zqZMJjaDlYUK4+ApkNCM_RuC|(2fY$~*@GsFIv5eB<5U#qMvA9`M}HaEWUySkR@HLI-@08i%xe=+Lpn#;)s~opPM{SrWKv z1Nv7WVh&l0%h))eUwPf$*$p;ET83ooXLi@}XrRV6iSAavJK)tOIBivea1f}NlqD~Km+ z{`CrSyaQ{Y_UUfuR|~FA&vD^bcxI>ge0hc+E?|!|#lC#qjJbUp5pMCaI{Lepsgg^b>)=y8~cAswt z0sr3o_(%2!-Q?<5i(fr7-+X4?KVKlvT;#;XF92-QU`2?H3mf#3eNCGywWO@0yk{yg z-ClC5o3b?X%1-SZAh5bFNKQiDj1z5W`0oQml$)BAk&bP3b~??{a~(z8;qR{D`+_A~ zplp6Bchzgtquf?i-h8SCd~6QP5{?LLPX<|AO@IwI0bL5@lEqACQ`x%#9k@Diy!eIS z`V?3nJ8U&5&E5=HrIgr4vVnnMK$P>_CSjrah=cQlNhM7U4hirA4nA1WR#8Z=SfExk z4NwCCYa_o_S?p+T3)obpr&IZVzx;_~`yvZdW&9DH!dd8e@&R;+iVNJwNw!U~QXBx- zP?y!FK87Pvus-{KTG0tLzBo)ZV0hIKdS`pVC3W~an)B(9S{FEDUjD> zHkm+vSy0&6p|T+BlW#vs3rt*}cBobf5b2#(#xG{(eLU{N)7>$odNS>6hU|5a4F=*7 z1#-)ubA2Ir`ojf3`6q^_f8uCU9N&7^(Jb=H*Rq3M?0)HI)vNPYc=GBoPA^aK`s5{g z?*KZRbg5=lU8d-?NmiW`JfVa*^R==FN>z!Jo44rTV;jm1v&Yt`z-Ow1@}BZw4$X?` zU}K}&_y-Dr8%e~WWv5zX__$MMm3A2Agte3mI!Br2@FV`6B{k27H<|(AV^iuf)X^2o z2gYQjibXL}UwuIH62LauP^4s^faq!joiW4OCdqtSSU~?R)JqbdzlX~-L6g$lGO{l1 zJgt&tN@i~yrdpqd#v}GIElLRSCYji^En7(xO)-igVCI1)VamNUPhvU4SeBF|~Y9d?VMmu2KIA&bB~gc%-f_wnq* zIXumtA)#X&EW~3v?ggRJ2GZlME=x(qTh6&M9`H2)=8bl!Se~?56_(IVaw(h&3uE1t zwi);s423Lx;czSNx+RS>I-QAp@2jR#)_2|^Drf@i?d;?B@m=ig?&Dzp0Poy-5AWRi z+84ePKF4cZ_!Z7@f$P4oeki$4$lo#ECx>Gr+ZsT50uHA;5p0rSp(qg61sMf7=DoDC zW>+Y!EPX~*Mj31}vX}~u&YD)3*o2G)7M?k|g-<`HOGOH+H?p8e_b0H_3GL4GtQzji z91on9FuVEhez)AE001BWNkl%{1d5SU&(`zI){Z)m~IZ) z5%`^5LclxB6}EI-y*|U4U*VOX;9-A;?{9vJe|q^ZaADWKm44_${9XK>|Ccz#yV&(( z?8rXER+RnI%Gu`usMZ;ct_%)yciY+`o9(rpo}c^E*Qfa8(O=?!_~@7Tr+;O>`Rr}y z`F0TS@7<5)2j|x~{d^;v2d2ws4tpZ-mjXQ(;5r!gX3!7{nvCXo6n1P(SJ|a%`5lc_ zfe^zj9w)S_mdq635Fx>XK777ei{$jS7ZHxzxP+XEMgu+%2vo|a?agrXhmQ50#bM^7 zp&YAU9jpM0$hm%Fb1~w>+*=I>#0^h>#F)gad{$BSS+py45r~xoG$yC~buV5!w%5RF z7wDJKq&5Lo2ZFZJL2DMlYH%4zmUm7xmC~;zeqGCXw}!4zbOP#8U9cn2bq~TcFTer~ zr9T zQygFYqnuN#!+XcYL#-qLO$n+`Bxv+fQv|q;QfbnV>++uMEU9F%*mOSnbHTHp7;Yl@ zP+&hGqNHq+NRRe#h63i`#%|;d+{FEj4V!2b$DW%9!_43{F|!GEiG@fVGga54+j&<=tCyv8ne-FPJtC8o`f6gk++P3q{0w1Y#-m;%3GbMvo%Uo*o;JjXyytahABhBpT1f_c&IZuz{Od_hNVlvnnES z+8_pN#A`^Io^ii1%oyo7Ml~3kPU#^0EC)gLW*P=J#9CduaTAO|s-ulVeb^ivX(JmT zOk)On`l2;ebT-mR*el1<(`{O!CeNY684?3-=124#rXh_`-tPQ$hA}EPs1ZRX#hh@N zQde?N!uMhfaDvZcKCBax&DA72@SNt#?4+^*`IBh?P0LOV9SlIT5g4mEc-Bg{!5jz5 z!MznCBb7n~R#rnL)W6B(r?&DVWLiOfKd9)k0s4c3U{FSCdVKFzx;iT`vCIF%-kbee zer5N4-?jER=Z;lHvN-i%wOXwyRw5^koghep*aG}u8%Tis8;RwAAwb@OjBtQFWD{Rvy-Ot-VWm3MGbCyY5S)i{!0) z&-tCb*YN#*zViTxABL1P`xxlg1#cLGJdN+vm>iTtoQ%6oyFuDPl|%YsMv3Fr(J^iu z-NgRhA#Us+;pO8`o*wWF=lHIFgtLBy3)x|3hQ*fp?2MmF>(6$$#zN%+D&@ubITxtK zHeH^hw|4sC`I6{}`yCpcv?TELYQw6UF~srk$9>!|7<@3V0O)jXL9@Bfgbh{{sV>OG z8NxD666+}=!m$i=+5R#KET6opZ0dL7we`7(!hGubWOF0U?da(0S)_us|uz54_IwRgH-e>-z9Ee4zk@1_-7=b}N-S9%m( z;L=%g4XB#RWEsfK4~w~!t|pJb$0{jy78*X=A(Nu7O_DEYH5r#Ag%PBs2uUp()mj?f zyQ)@FLP!>X3ZY)ysH9A+Hi$`0<(;{`qJ=?Q_{x_dxozpqx2e#`!-P6?X%5*KY^&(I zi0Xm@tLA7eyLTs`&`SX^k`uhr3>=NcpcV0aB@r=GK0-1V+6GvyV|$=oN0xX_+>|U> zo0^7<+~uG^Y0VIBK^IQXZRdFWCu~hUe0M{>FSP+QK1+_yi>U*qV*o?>qq69*iGDw% zz9>b?*_uf^_P&0&1`=v35Nu@mX(f&w=X)j_W4@1w8qV;NnANp(vv$?K$Na zwAF%*DE4#@N9`tV%a7w&Ud0pK{Z!AY>+KaTch}fnU&D-KPBBPdMe`-uM8#*bNsDvE z<1?(>gcYO%^e$HuO+oW>_6Eo$5%xyV6 z$td+zG;lS97Rv94m-Y;8Ti zy-!VE-WMENxOlu4`FZ8}P!=365*lqj=2BbcY~%%DT}o$UBs=8YH9kujHQ5pNA{7)U zwg7YW>`GC&;=T59+wS@f z*PCk`+p21&)ZgheFj6+NW)5uxGxGOn9O62ad6p5gGHRq%4*N3ALIt8dK!uviG2{D; zy2~Q9$VzF2g2pm!iJK2!HNr#lM(LE~52j!JyE2qqVIj>$R1DD-ljSw*zmOW#9cZ-i z!olA^mJ93z>a|N2Z$^G%e+BHV2m%j@-tKyb%d<;d*d?C!Q{3wh@oUTP;(hz@GwXw1 z!_VMV{4@^nD)!_iHok`@?YRMZrM#w%n0K!<@gDv@Ghh0G?e-ccXXpO$!)Nm02k-ko zduQj5{{X-XOTddkz(2oV|4skN<>%$CcblwltYmX*<$6=0M_qhht!<#zIz-h?++u&C zE%3;eRMWhWEDj`1kL3g>%58+E{F1)5R$DiED@DsADas}>BXd+>W=sb_0hLOshCvdK zJZx@SlnqdA>Y~^%N_CBKOX=k^jE#OZ#yZT`RT!$kO|i;NS;Fzm5rb!~eDPX_Ra^`w zx?)(Fz?LYaZ7b;42|)sEu_%aBZfvwiIOS_~9b~|8f*Mn-u0=MMKecUo`AdR>R~nw( z1rmO3GNlj@E>raECUw}uMlqv0DE_&za0kxs0@sflHn+1#ND!HgpHGBaKdlSI%V(U? zS6aye>RQ5+IT|kVqYWSZzT%@l8Zu%-51%fdJM~eZmet!Q1LM+P*<_A)%zVjat+3<+U2a<<|| zssoM0v*z!x`Tixr%!QhS2$bFv0Jw27E(oZ zX54dAY6)!YHf#VQ=q6~A78(kU8=HCaX#f!YZDS;6%mI2dwhl${|4V8=&C*=Vd?Xu!z^?b0sz)#DIsYhj+V| zSAFtTpaZ9hjV%M;CI22c|P}Upb zQZ`jB<-ZH(z=4&kOle*mH+k5L>MnIm2`FPwi?n!UvPde@B$)*8kj)ui#7gcW{h1aEMp1 zu>**%sTv#iY63l@_D)6<+zHBZ?bdO<+uE~>b3Ax@in|}(@!$F0LwxHy06u)tX}%Z) z{B!@c(Sy^iUEFK3zNye#u6h$LM+V<_$672t74hXVVtc0jru)!4aa-ctxYq?FQ!xl* zBpksaEKIt2Z3WOVQKqfDS1#N@<-JaknsRFrK&G+1_~OqRzVz>=taZwwSIVp1D_%vo z`R}~gGZrZeglyuY0_&Mt%&B~2U!!BhXl2om%Ofl28t?Ncq_58$*B64lz47n#1+Yac z`ppT#%8NB5hh7aq=JXX&*#(Ye09;DbABFUd&n;-J71+jez~G}+ihSPT*Y#=TR>`$} zHta->y8`(BuK+*!yTFhAZLj7#rGn{Y4NJh-(xo4|Xwfoq?lUPtSq!>oPBXu!E4B~7 zL4?(Y(mW&O_*@}mo1qYKDs#t$E(R>EW9_Z{+NRv>xR2McHU1Tnt5$6UH*3C7~Cp=-*MoZc7@YnmxCXBI}OszKsDiDwX*@Qpmohb zBh_B2F({oMEaT+ot(!Sl{AVs|Tx zJcqF|H5eQ!XlFxR5w7Gf&?ch1aH9m6BOTT%^Bz7kbn#G z(QO`JX($Y^Oo|j$X!-vrk5ezlW#zmcNHD<4s)o4IE>GjjsYIX>ndV)mh4CafdAyTd+o(Vk?Ed z|4#k|xMX3JpIiJntt*519-IB)<2Rr&1%N=*#))0jtb&dnf0pSdN_8pU(2 z*33!uA@9jcF{%8yP>BGk3{Wb%CZvCT_QFCH!|fFp$;ba)`XQ^UDu+vc2QhKXC6Ki~BQyoQq%!ksbqhiN393P^_|+ zE2xYT)hxiF*}$RVt7afnHYGj%?#M=c$h68^EtJ#ok1C$Wy=KsmA!9dp*uG+QYXDTT za4lewr3Y6>tea9ANxlKP)Py(F!(0W+nZqyB`Nhmv1C||kMZCQ8E)TYtjI9d)e7Sb? z^FEQ`6?WzDZN_?$sxQo}Wzm&UKjLF6>BDx*qCTm(oIgV>;|F>RM**_}Qa*uP4D1+Qg~6 zIMzuWr|%Ey^jibsz2d{rMod;@C`NpnF9Pd>(4HljDk{<@sO-*vP8xm^$a^%KCSyqF zZ0?+rK;y+-Q!@~)JiXG({n z74$7V&?XM76xyaZRJxE|1g#|dY_MwuJ*+^ID_o>ciay=6o{%rl6FNHdtuq<4A_u+4 zzpu)3x8fmXlE+#Nc*?Ku*_<%;HI-oeJXVqe-@62Qna}AQULZ*1fH60DWJhE}m5_;i ze_W(g3(CzMYWPX@hcbU0EUNS8L2UKJa`2wOK+5S!OA!rPdq82Q_k!E!f>B}s>s-PT z)!FE2M&X*3T%9tL_#e&J!I&E!LpKwux3pwi@w3~2^u}^Ps@e6H&x}$9fyy*bHc$>q zaQs1L92)l%) zHOys-oupK}AQh;L2QQfJ7{V9#B7N8uedicC?*l?9z1I)`l@U*i9h=)y%NVBRhm$6s zKJy{(?_rKF)eZ$3VPR<#KoJv=lc^=qplb0#v?*>J-NI_M#=+h`ZXSK|A@a5F@UDN1 zQ@_NuUt?z$wyl)vJ5v!-Ht%6G>b?w)1-bnh`KU51A^`|C4(iih?4}B z-9+|r@>5hoxs!4hpUz1)L8mp<_!+b0uju6Y?-u-$Oi#@k$Aoy5(&i7of4P+68B-ey zQq?g8uyo35s@^yhv>d!ThYeY4TihpRaLLbHgWlYS9PJSV9yXWl)fT5GCwOE}@L_+1 z-&?+oUtE3z=YI8>^*t})M{yfJj$8634)Gc`IK)a;VQD6JOlcA71~h^%!&VgVCDU&3 zUEkq!d+HC*p5o5K_wc*#zvKVpoyDJh4ZzbE9p;Ncz+W7Tfc^Ng#pSzOzr17E-htpl z7d&wH6H&haWC!tRLyXC?ys?cry3V*h%`K>TMGHzs$@q{v#U&&W6=aONNLS=X0AxQyzER-4CNdRvV_RLhs{HqCTAtMw3I^|vJ6{(( zd0Pm7qE%v%vP7s`L2`k*jR+%h$inq~SJ<_4f+id_?_xWn`Jl#yH^bq`K*&utx)&SEE6batRiz*sj4U0uKNf{^Qz1aOoDR2!JLdM;hbChvxSuk~p z0ab38+)@f^L&}+1l0D?2#vu`C1wj=Y^hxLN!*y_WoH@WqB>yMbnG)+N2J`i+ zyicl~vZ3Mg1#YiZmhl;BJe!IxZGePuGa!ac6rggzB!OvckeT_Z+*C^D5ay>(8>QeG z-9%Nx+d(7N0R`G9qa^KYxh3tGYv-B>vS2AX{+%__2DQXCCya81x7x|d23qe4qMOdMTh!0K1rBBtk?17olBfw=e5f|W?z zOuWd(F%{LJoT8FV5bPhH6np$#-F;HfW%RGZIJC8jl|aQ2Yr-F>64IJ}a}i)(wl=Bv zjGK0DSHqqW-$xbbHl|u4(>*9Y-Gl@k^8GV2MlKnfOiU^q6dY1mCkYDLG1U$-#n{Ced0I>Q<7|g?`hV%LPk~AuiOk-0{1FyWh^%oIpl2P@2CNn)By8&v!@dT znxM^*lbp4x%9v=?;4iraJ_eT+7fc0B)WSMIs~C}yZZa)miYW=SDOfPmk+`^kGhXkw z!H?H`uNC4u>~>pRJ~_k5?i}~}Lwt4l2L8wXf8s-b@Y%`A6}&SJ}b2OhiWxu{*kWHFIo>St4%P@kluCLOr?B&`_0++?}* z+A^0fZ=&}rrK(aaROL1c70qR)6=!11dQYZTWze^nobSB`9K6~I2-H#xl$(JbcbQPb zUGW?Z+A_kgru>Qq#pAa-PCoFOo?5J6nY_elGY`@}MM_P(8b-D`cA{8qLJ0u}d=d0M zh8KB|FFF#UXNo?!?V1d!1^7}Hlf_X$Y*lm<5<#c>LL2kX*}rIgYpGo9l%J-&)t}3u zm-1UXfcsxJoW8TFjbIlWaR3uLFFljBJ5_nEiI|fD998X?RI|I`{=rCg(J zVv83(W_5x2%o?y9JU=@Q!?tx5DUKtr~+CwHB zMxlKqW~zNq&3Qg%d}R(Vs@dt>b}v4LOg`kp73Dd--@!|%N|v8bt+8ZIhccox0NXym zWYYnc4MIMfUWqT+bm!m_wUf>g)@aE|HCZ$weSAgjhH(;RB||A+e~DP9D&*fZA1<#sK5eQ}49DWF%(9WDMJv z$*^dQK}+Z0pI(&&H?k4TGuH_ibdhP$laHj9)lIb(l(eMeRI5Zvh&?x8k3rZO8`EPc?gNJXq#3$O3b zJW!JKREDaKZ9HSAYf#{1Zrs>E#_{1z9PSGxI^D zSWZS|sS#M|8Doo?(*^jt0XO%6wZbLNgJtKqd~|`6%QHOoXSmxR;#cjr@xY&aroGPR z@#s1&CjbB-07*naRM+u&{8ikLH?WVJSj#@v)*upmiB6@fQ~6?fp=rL*=Hjp}*UPn^ zUR~Iu(-VAn|9klL_a6HneHXwVzpw0fi4=ES1uW36Nf`L(pS0N*DPaYf=QR;NJp)1KEb30v`RA9zM_k?U|Ud11}ET< za{3;1xfNqz?-fVej7GZP;HhMQPnxX}X*jZDrJU0F^Q9MmwH9bYNr+uYDpz@qzB{E& zvw6$`Z+xHawcz}r;Ob#o3PPr7=S-CsvX>>{iaz3=r|l<3u-Egsz>E#d$g_YtHtfF~ z^4eB$YNU&s)PI+KmC(aj!(yAVq{S=6VQkcayML(o_&a#cBW%thYaU>X?5>LFF&~q0 z88DoyaUWYB#P{e%RY5ifly7%lz$T0@ zvjk41?2hqWU04Vy)yGz`=m0&*G9v3rH_&5Cpk3h$s(^y9;Isj|T09g9QYx18n{)U8 z0?-yz{(029!avLHTX^6)rRP3Jg?bd^&cb`WQS2W$nyk>U#-824p?>;QE=HH z7C4W7m>lQ1RSL*x_+v2AI9zBI0UMi9+Di^OGEy$VTIxgoFGDeA8Iw503i^~=-^x~?1tTRYOX@Ucn1oS!YRm&$y0;U$A%mLSPrT(NPz?KS%&R9{+ zCR-VyyTqNGYQ2_Ye-h!V(VJ?dN=lL`U7$>GHE>Foon@4z58F_wo@P*GXGEz3(zG`9 z5rZ54aP`ru!qdh%?02dT>m2kc?TwVlf{N(n4tuOch4{(kvT>1{yLw)0(TlZi#r2Ida7=}wZi}$>znsS07`mkk4)h1F2 zBqALuz%to8GoCUx`|3RFnXZ*Xh=@j3%Kup>Te6M}+WGH$va{My^(h%D7SEeayo^-Z z6i!Q%9g_(qI^tgQE;FlWQ^^fQeI8|cZ{yi*GHr+Wj0A^3p{=1E?*aP(IW#C1H(Z{b z;q2@LkL?-m_WSr1`zpTW?|!Cz&ar$MU&i0W5#GR&+{Ok+Xy83=K!c*iv7NiFVlSi= z)#0|_x^Mk#d*KhyPH^|Z2l$=$Kk(mt2f#O9SOQ)Q0{((q1b%Ya`PI9NU*751z3*-x zn%M&fo&j>{?pv7kSddYaTAo1}Kqi`XUD+Jj7zm`FcFFE6QvlM>PRjPk0G=9ml?vg? z;$I}W06Jn*SP<(XSRWBgm>xG4J_D*kd17wMeMsr8B+*j=mHEgLm%N#kJPf{IyJK!P zvv-XbdFLjk=cOxB7pir`a_0E>j|CSG6tWFJ_|=IN04c}p!|TpMfl!`e2D16Aw#Es8 zs*rNT+HuctaKoS*$KttB$il8h>0_`^Thbx7RGAmBG8!uWUCYjJ_v;47u8KWnx@Hi6)%NP5na z!_TXV((aN(a#Va<4f#mHE^oEV@DC^auppOG5@jg`0BQ)3fV*%u$fOnsl}y?66MmKZ zJoh0Q%5<1)ZfBY^L61$R zojp-BR3iBq8j+O=ElzK?vjMX_o6ONYsqU%s*I_|H)Dcx`@aK;~6_Yl|lt{|Ef&@T+ z{&_~lEzbG!R77z$VH|wTKeJE;mkgggYgayoUpc^0-d#%jWG)RnEhRmg-OXkXue|&! zR(osgZ}xEe_|Il5d*~;)@M|o-U=gEO(DH(=&v4#*i*zh~S3_1YhcLCm^Upk>i@~7r zI*-FH+F+7ezV1>(;Ep>VL8HMT%Q zVcDb@UFupjt@~^hwOW{gN*>j**h-FtbHU_1*Q7p+T0;+^ax!d?J%$^HE672BZ{v9F z*q&YC?CcDW`ZL_^5Aa+4>-fj^+gQARX8p~cyo!HG{w`j{PvIus#Kv!7g*_Dj_!-QE`6t0+e)oy|4tl7zF%Ke68F5=@rgD z>bSbI^W7a&+;h{%4nGt46`+e#zm^*T;f38vu8u;15-3Uqv()S?kQ$5YCL!hYf})h` zu7(Rz(SKGTpp>!tR4Zh;m{(m>ha99QoPz{r4htCqo{a#rxuZ~FoL?~kDCOn>VeaT% zaCv7Henk`bqUgJZ-DMI+QNGID@I{d`CdsvJ>cGWg;Ow5`CXnwixsc??;U&-;Z?9jrDEtX9y*X2&xwz`39k%HdI_V;_}yG_;+*O^w)dFBqGY zocz1L0NnW{4WU%!luKj@`yA#LMRbZ2ay~Lfzck$%(37(!l!?G;sI~Elsi}Bjx8b(y2__Q0% z!fWymr}Ckm65~d(|0xv=)gbZAhw5lh^$9`KUJ~u}YO2$QqO?>@sT)uw@KCrpl?nJo zn-Qhc00EoG&wtXb6UHjVw@CVV64lf1<8VTcvT+*O?UJ!*NrzS&+zba}wT8OO(|7G- zpd^YR!S)gH>Xe(O=NOb<=HQ_@^Qn`Euu>N3aSpU<%*Ziev}K8eWWe`O>LoUK*?u=# z&jhrKp)XBcc0d>mgT}Rws7WPfXaI@g4K9qg3l3~@8k@^sWeM*}XP^&u9 zH_OtO&Am+p8=qwxopq)COgsW3%c1`yV# zs6!*aLxe|O4o-^C=VJk&UJ%~+`15(?y$Q?nGp#;eXor#f7sG%7_>^k=hQ!AT{#$p1 zw)k^1s=$2Mket$;l;(3t*CmG1lEpx#UFh>mmISU!zHRwz$;9}i^-y(caJl(b84H+7 z1`@4~G*fg$R!|3Czx^g&KDv#)y#u^_*!nhxG~_6_X%Z`9z{+9k zPIlO0Ti(=M+$h0&3GK{tTr<&uXNF=xf1Rp|czAoAlgf^~gfM;DniP`V8TK0PqF*SMfT27B}&E9N;!Ket?y1 zV$cl@&dr>oIVtXn7~`;=T`yNSy}a;;Cue@|-h2KVKREL{-v#j23roQNKVL8613%@j z|8n_~|9$!1ool%`J`lZOwz>((k%}KsWWN>@b&<8ZlQ*RzNjzoCCf;g$m6>#1BI8#a zu+EHcmne9;hlG*^SlHYjG9J3nHhrY@54Ss4cv$k^9^YQdX-C1k7+hc8kT*g9;} zAFK&u*I6|Uxr z%k#)R-kut+F9j<&?9yQuigsv~Xpkgqt~_E-BBN1}f*@KI$f!0VUcKu_3VUpL=_`iA zR}CM(E5&Ar8!^Esc^&Y(<@S(dr<5Cls)~yJgOYZuc<^1|?f)5g<6qxl^Rhr!Et)A! zZgv(BlSKeafu}C-3qJVm9nd%&Fhtsc3N}ZEe(8Ak7X|PAs>Sxg9B9g-iQZ>&AY3T@ zB&z_t6uuT)aR2E?czX5}k4_%J(j%XqZY={!4cUZX#RjP+ z7-=1{7N6&d%I<73#7Abg5Z|B8gHTl>eHt(}g?2VDJrV}k+Q(L!1$x2(N6?uSwLQ1| z%>|v$uX;3ERcK2Ts^!1tw@{DGbDDccasf?Et}y!QMoV7`4u#c2SypdpJjZoy5)W;P_Tz0xi!%RvzFPHqurWkYgo z-YbbA7Ft?Xje=ZxXJo0D9~zP>8YTC_2!lfby#fXn!(!ExQ8Tf^4cc0bDK$GICFNVf zS8Ze&$kM3>@`9P=xfk4tHdqZ4tW!#YoR$u+;YXW3r|KT(U`B+}yB&8g;l8e9;?d@0 z$z)Mj=TDVghqm~8bGxn_!SZ}-8N&;Ux7RrIPFb;dtVr2x`$$71%OSWz0ec*r8%dyH z_lV>}e2+8>NZQyWecWDvN-tn5?LRuwH!NfBGBKeEx3eUWL4`XhU3*Z#3B& z%wMoLAK ze4|i2H7X_8^tV)XNDXA3gBay{T4_bYAh0^m*!o_q#k{dzF+4YnU5Vi4`WUaj{02UH zbQf>F`gz|q}U zgNDS1&mq;Io_vKVR#j=~+p48we?~n=B=c$5Rbq?u=iYH)!UdaL#UpZNoNAeH9%G zw?1H#Ik)M#1{3$L*UPn^ZZGiQ`~-JDzKd_Xe;itP2t$2#t+{a_vN@c z5nP{UoE2bOV0k96W#oJJi9Xu|&rw$~UADPV*bMyc$36?!4pV z9pIziVJu#Y^a*W(l`4*2U0_{t^;qMrX_T!^RB{6){A{Y53%qwolQCG~guyA}O$ep- zX!6YI!ESs!U}y+0p7@}3yBNA?JlB~B&<(9Ms`4UIC&QbaQD!cbl(L!BWC$@UIz}Ug zrc|cr$vO{1v|AEW7{w3+DjUV{Yzv|+XHXu8H)_Hfj1 zVIK#d`nj~*ZL!^M@!;u)xZGXfaQ_hQ9g4^9tj93<<(ANcqD?P*WC)Rm-Trz<7p$BT;C#7nQtWn7XZ?2Y^!rq*8+|^ zKBSZVO`INhl(*anTlH=w>F(uQmJxCwbIj?GqNi;@I3zS5O+R#OhD#xn(^)?6nM8n$ zo^yesmlaMKC+G>qoha%pRbgghFr;%wilN})oh2S|i!m1zMhv%zHkHQu}Nz^9zN~`8HmqsvI<-ag4e|=-dWhicaH&+cPV>sFZ+Hd+_YY*|u{j2!4|H)@7BbN=nqJIaU z?|%))@+S7=CYm2$<*T~0b79nrBj(JMD6*9=y6uZy?k@54{1hKQ{t(~%;4S>4?=61z zM*!}==p0`R0)FVe{(=4U+0X0Scbct_Mcd7Wc4IL;RMAaSSw+f~i@P+4h_Wb9dZT6X z$Tu_;KQ-n5l9mBZUe%{uW0d&2L9=f{&lGOTvaF#zfSCnr>S&Z^9=^W9-p$4hAEm+S zRhW(00)2d(#AhqrpNnRr>(LFi2%dh&U{{v?ImdHygHRJsO(?%4D>VX%ttQ%jW@RoOY#DG>}TpKUWW>MM`K-9yz}K z580@w5-P>Eq27b_BuVoaB6MJ#@@Z~^luD4^foJzuXs+akh1}npvz6fGnzV=fJF_bE z&gLfKfW(w}!IarrfTGZQ6q-=z!uMC%L@7%3BHRW`lcKl_2GnYvrW?2TD$)4GmYJ`u zR!cXD9>AyP&v3cD#Iwt1I6FVXOUJKZZGf#Zo^#O56RHQ9 zz|7TJ4|PBkQ$Dsn3DwK!HJ8bLBm`>3SvAY=6HtW~paplMw7eH>To{kXT~N{Hb+R#- zdkhcy$cRU`_>B7CILzurlOD~_{80FCCV357oy2iKq(zh287D`Hybx-ZHLW!na}IHM zMymKo$Sa$G6e_OH_yBf!Ss4H}TvT775emoW%h9>58bgKdJeO5UF_ZDLv3-@wV^2_< zY6}lP3@ybHY&zp}O*wE4z32kB z^ZVuVkf8|TdBU=>=p0a)61iny7B=ZIbECbWMI5mZCR}j3MoZ>%cXQs!1Q!qfCYpr8VSyBbz%z}+ z2M{nnXDF4Ll&3y3D$Aw<;Se>|hm@s@mo>*bRZ!irS#5CR_$CfFH*m0jfHz)#1MhzP z$(zMTIK?BJ;!G~^vL9n#ft7cNta(0q!9TU454YH1i-vt#L+4QEJTJUhOBn^4xf+(A zMRCgPhyBt^pOdx`Ep~^O9VzdsA+?IZRi`=$1$M+*qeg($fIwI`Kn&6wqqY+@AyILA zW8#eza#X0gv9#04ScI9y`<4nH5g&(A17wNwp>0<18*AVocr&6v-x;o-UE}=v0uOMC z5BxsW?)@bBX%?eE|v`B5DEtJuRa)>xxLW|ip?hB`|#23F|( z+sV?qUGJ`Oa&dttPfz`$kG_vz`@x0ZeH*~r0G1bBKG;m4%vg*nk%+YNQLiS5^mHjE-g)|S{Bt4C&_sc55m3Hq&(%wd0ATmpq%;8N@*b_ zvDM7?AkVK!`in_ln~H=nP#ADQsY1m}W3%BTj%Tw~BxAwp_kj<7%dwnKLxf91-?s9C z4QXur{!KK<@iN7Fu__9`YrHm>&jgR(QLGJk@CZ2l5P0Qh6-Qqd?7tR&-~Mgj)qmM> z@CvYZOR!owu%@(fFNPld1UP%&@#K!euN^0MfIs==Ydrb3KsP(I{WU)Lzt=dqZy|rI zWItY5VvO9wNQb7JY;H28w$k8xJx#l-2$Yh=IWI>E&2}vB`hWnYT(aob5>9?Fa!rz` zn~eg&M9P@;HVChDDRgvhZKIH4axja{D&q*(8=D}n#yqzrDYZkF%EvZB6}4i>!vEj- z{d3lnNfBKsCuAg+EL!yRk%%Q#;11vPkb@@sAWhlkbAuX9P{?4l8ZJ+{d0Jp98Gtg# z+>l#b`c@4?c#aEq0RSt-YU9vN!+P1rk=(==^k?yX`F)(>@uzkkT`iX|?>M`>#P<3M z<_o&7(4cHM$7ZV5p1FC`HZrY&QPhcXd*v|cEc*EVT5JSUf}LBYtbnumN)kQ@(^C(d zhxoAnv;+XERy-IaCG3=28s)y+1iNKy6^0~~))kwNklZRJS7jo3=SEyoRjxG{l__SXWY^+D z&6Sg##(|wVu!^m{h?VU}GdsKPj~EX5yj+K{Iqc6jLM+;oz>PN2Y&;QjH8dVc5cM-o z12l0R+hI;Qv{6Q!O+&)m5+I}5(2+$UY#eE`Q^EmLb}ck?7o07d+Z^&O0c(t(IUuYF zc*|j+W%3AR)xs@zzBLg!=V67gP6c1m%i{-8!Zi~_*#tnRy&z@E$&xUy(3$YfE7e-$ zvJjjazXua}a@{Q9ftOM=ux0anT{A7 zrlLqN5)|TpZTR9RxML1O9naeW#&Z3 zyT%^Ya5ORuLP^38d+3vtNj(9Ki&~{6JQ8KG$RTLLfE$}~^G4`q4i-3EA=o!;dngr9 zT00A(suwHt`wK}J&>QxhX$=PF=iw0&$IytTpORmX#Dk{ z0f(z%EZEYqeR_$@iz__sr?|g7#Mk;;_$B-5XF3E>S>Y$-@8T!@Z{s$;j2n0j8{EVi z`>`fd9jc7HUkp>-*CT&NcGl%`*~-cFd4G8JMBaPwZTa8cec<2tE-eA4FS^ASgMc4i zi-7$^|BvPEA6(<&XdimRU2iz#&>efKvNoW(xw-{vr@5f#a2Q%mpu^B?98_L*CJqZQ zNgfH(>GUHO42Sam$b`)tTjgd)D;lN`E(pczdo`*dU5|<(q33v>Ansk=GsG)^+8kV*qxsS&m3i@tESey*wS4ER)#L3x+K~zc5*@&UZgwyN-`p|>hpul3$U_fB#(3TquZs{5TZCOLc zd(PoS7El_~-vW(Q0Y$!qE1Tz*GjomCgdXz2d*aVXim>{0`BDkuDv=xB=wqz3xv2o1 ziz}J7G(IH2*2%(7k~E@OD5)}O-p1y$Q%YUZ=ai)OlzQdw9vM7cH2ywJ)4 zuZT?!hjLt~12&r58=F;2m>SURWUAR4-c9e}Czpi!iB730{Crim;oyk)SliR%E<-^z zMZaMJ4LXZzre;GZ<8=DeleV9Yl4fD=`5Cm5B#V!gtqTVipkjuecdc{HhJ0P5nnKax zaP1j8=n2)cAtNZStAz(WjjfhjHsR;g>#it!JPf7^C0H>gT{<%5=fM@LY0LGq+mt>c zmE|6jAgQLQdld6txzTMz9cE??Ei*DltP*@@#%9%1>0vcg@c@wwUd6OU%@CbTipYU< z!pa;O2dC)8it##=b5NRUa`7mP+;JI}10m#0Ai)t3owCM9 z(vK+Nr*+Sb*S02JsmN<1w|=ITdk#g&8<^EEgZ!VWiLpp92?m7N7=lQpwRrh|LCC5+ zC#mNUH6t~pynJy!a9AI|Yt|b>#^2+{3?2suBxcUd>ogn^lpHW6=Sn@cB@0&8pX zVXR=Rh7nVw3S8L*j@ltsw&E}>)F4U)=}H8>PxAacSM%55g3DOLx+HiwKeICw8pW0>FqqoYO$!;GI}2GHijFI#5vIvd;}ZR((EltCNhQ zy%p?WRmueS1=|b9<;5jV>;jMd89uTH_|5(`JhSu9w10U8KZ76hzlmG;0uJyR_Hh$y z96+#+0TEdu!#(3;J|YZP_HG?Z-{Nw2ZV%6%;Dbl+`d9C~hkyD#^W7f;xc8z{d@%_4 zq5t}C{iiN}9^ZL?K|5Bo8xT2$$bq=*39uqaR$WE9Q2=WqXkM37ZoNu&%m|*^NR$a5 zwMuT1L|y&~Jy@Qw!E91>lBGVEUlm)Jz5&*>8AS1CBUXuIbSkl;Q0&0Re{4AasA0Kw z^hL0o3GV(jV2@U~{8;etJ)j+Q*tuf4kdQ@Pk~(U|@{Y?iPxaK!bF-GDW`(5joObWf zeQkFrS(d1vEfQ9M#c_EhIDG`*YjIesPtiUS1y(i>x&oSX^lQP{vxci@irqG4?D60C zNmxg=S3A^U^bd^fFq=X?jmdTQ+8v;2fJ8@>%lEZApT% zwEF<mehon&gQ%RF_8{0w!#TGHAByrvd_In5~t3)z5dWuvbk zAuKMsE`Y28x;Je%!Gr@iYO|cMFUt)s09h&4D_~_CY~%np`x|&oe*%x&2k8CN0p~8Z z;Qa^h;Y+W73HKj8z}5B|d+U9yTaOKMHUUk`Lmym*#$l8(axoi0RODI>=-8}h(Pa_? zoAmO7MCi6kR>yxHtq% zIF@Hz-IUG{QsMNYFXc6;__e{yqkOkc%<%ixHZu!cMOWry7mPF&1soWJOd;-pv^Vim zQc6O#c~Q1S+ep$#(@suk$ckvLe7&3$`qT*|ZZgi(HJN&>>Ozca;fLjMJuU7K;?|aGib@A%vnS_ z|1;a&auU(FiH#quBmDQNYDm?JOrmSgfdZyseL=mb07;nbbBPHu0E}r-q~t*?hANvKA#i{JzzG1&``m|wjO;Co=M(~GYcgMc6U zFV*#fD?9s8bai8`dPA%o!Tr#i?+JA6-J82|c_>_XjRLf;)+S}V7idTkl@oRzOgh1o zlu>7(V)EZwnrOAK_0G!S>Yf@LPi2X&i7L z|AFH4J;Aa7yNmF4YRV25@rtkJI(eK%=zf#LPe=oT(Ps-S5)>H%arfenhVDy8GB zgpq{ls1zDTL6&*39dq$9K#BmMJH?{FaxL&@T#9h}5DReS76;WNRq;6GOM^wIbEDzX zC=E6?qzSo;OT_1~jz9P7lmuCgq+U0O4Dxms?*c0rWWA=MluQa#A}Ih=g9s(l;B%Fv zC`qX$S7R}(NUDEIRU>P+w;;kx6WRiku0BclJro-5A+_#|XkeYJBS(E4CzIIR?Fks;htO70$^o=Qr)8w<2}2YNQBOS}oTqq@QJGv|EG zWN-|)^^So^NDL*@4jj;xL-!hF-LPl-IP#b9=IUR;_wn1G+8_V`9-cqOqtnOu=)qk) zI(dxa!{cx>Pz|E11n*fvk#x#SE+4IMYi&}brOa;^HUVa!Up${#ndIstsxRR}!HpQa zfmCjSw$Egzcz3cyR>LBdFg1W2(sK`Rdg0XSd5I5l*>{r;OKG2wD`Q26x&D6xN}V%MEVYx zR%~Krx?4pSR9tOx72Le+VkTOf(Bh8(@jWYw4g*vunGrs1IBmqu7Qubm;9^ol1qq&n z^0ZyBlpNk<;b(0$d%^*LQdXa56U>8LZ#wP2lanx1Bxv+q3mXCSvKM(OekggB+}ak$ zVaiueFkBIPlX^}`vM@%dVD!0P2I&oeoE>P9<(dcG$% zqEK~2Qieww6-zl~fD9%;vQ#7np8-R)f?+D2j{{8$nA8$J)mT*8khjofD1wZ9jT{vE z1QyJVx`9hWj0|;iHmt+GAmzE&6bFr|i<0rt^Pk(`!&KG+ zs%EO6H*I2VY?9UI&y6sd#u(X{a5#*tHNy3Px$fiVpHaMAvvRuU5M5z^bAaRh8@O@! z5?;A=`_DEAz!SWWkMTu&9j~=pj1gRs+aiSe5Efyh+27#`hni}HKJNMS^XUxa<8r|B zyji%lr?rlsak1b*7~$0FBS8VhS{lZi1EY5a#Uih?-pF0T;l2O3=jPY?(}>3 z{r*k-a_B3KzHr#j&2K< zW#^YyTRc5Gll%Ao1i$)&Gk@=G0AB}i{-Qg4F$nk<=Ig)iKW=}oz4e1@zc>_M9V_(M zu{vz7d+NUKB29(!v@lwOwlQw6VrwRKIavYL+*6J_$jY?`@PuTA+*3JjHV;rxMhF_w z^U^3qb4P1}wg>dyaq*Gj-LE&SSB|H51aJTMhVu^s06I2@c}KP)j}xgb&m#miObg~*=!WR zRyoijM(A01N;}4|L9&s`Tx#VOHly^q6Ll5zcZkEfu$hi=ySbn>h4fzZUGwm0_LZY` zK4a>Iy67b5dc`DIdBN3t_%0{kDwHV(@t~vUR%$#JMIw%VFsS9}V{X#mSV%LrB4InL z!^R8C5kn8LP%#uY!=nIiImod_8E?L!Y={ zqGtqBZg&Oo;gBe>=E7AJ@jUs|Oj7TefV#?E&s9GGZQ$!#il^M*QB7+m)zBerPMFBr z+>+*5SZn|`tXQ2Y8+X3m??)R6#YeN?gaFDy8GKRi$bqy~vu|FZyc-k$l=3 zDd3AiHW9HJ(_2E^xc$scZOW=E>M^(OXt9Yig{TcZa>`+CP}OCKt;#-7_sHZt5R%$K z$lUPY`glYe<@6F3o0I^HB%Ci5JQ;Dvb0}FVCeb8jGnvpe8~l<46lOCPFx|l+$zQix zcY@2jq9rk6Tln*LWaOMxENuC1Ox$&sGXF>)1It0GOlv{Dzf#e#L)pM) zjE&iI41n5v${@aXK@+1IG5*DT25KZk^?~Q+oJ0B;o>0Nav$_itYszLYhVLeJ^LID~|FCWo(j^9uBd>9_7}w9w)ZlpiB7tmYu`s4eurqJXQJPnQ$PZV9hXu^v*N=y>pPz3Cx-LjzLPEHh<#6 zE&Y&(`@}GCsvvriv*SfsaubzNjTp--5g$3})d&nzu$GJx!~d0w(4KKLQm`4#0%^(t zSKdIv>91r*VUyY!LS?IWfy zwtj5xC_6R2;Lhzq^nA`JDsCW}jf?y)(x2zRzENWuI z4kRI5;tH3Jp#e(h~U5bTY9EY+MCJ4DX7TaO#*Vvasa!lA5x=>|hV-PIPVTUmB zfeHYbI5Nqd$Y)~2DN)_ym0XZB2Cx>&pU)*~g?Rrv%mmF8vSO5|CyT(xV3WQ<_kaiI zxteff8HXV)Ga7QY99ATQgj^*;5TfQ@uOLVJw30Zw8~Vu>=NFea>1VjtAL47vTlj_k z>$vNmZGXHkxA7JE8@SZ+-&cV?6h*UcIgc0sjWQcIDvN2B&vm zdbq24-CPe9asb7yo2=*@6}UGiepxhCkW!RXR}3kVW`jylOR57oF>m7NMDq)9I*4Wx%!gbLUJ4Nz_hhaPCx^P9U9;Z(U#@<9DV~O|fX^Bd3DVhvbu4$oVjX zljzzDV-VjbA!f#$YN4tk`BX_IFH&%i&$q3H7gm@afJP~Ft^hSRfbs5g$Kwjn6YhAveJsk;`h9Cs_N7C zDmtR+WQCD-k!Kku!n{47A)Uav^hQ&RA-Q3i6dvhegb}b>N~0-xK)i_FR)tRZ61;j* zt?Sjxhut$EJg(u~l=~pNbB)f_4HOX380~2Uih)0qB{((B>5Yvl8dW+BCba>0quy><-eydz^od zbQy^f+Jg|D-&?Z*0_8TZL9rFbDu;(kq0l+IIzqEyVF zcPPC-ZWpxid+%MZ2`*JW6Kxij1 zo&}+%itnO#83{)W%*-?vPqk}KkftGFPJHX$6*8almu7^vc@5YyemNRdhb&SHwC1^N zNQEUJ-q0oDD)YLobK2+a8SgKXst+aYykvc79SbYq`W~=DyO{%ayv60kB~F(!Jh2np zvxoSO{TV*?m&?s-vWMT0{~W*U{{e2`tGMPju`35qX|xjw7N&v?kSpP?5|yGg^WK-< zWfM_>{_yw&pWXcoKltDXAG{CXM*!AW-Qdf8>D5Q@@?O8yf7KoMWWmK}-8Y|f^iNFv zo*SM5ekSm>xG%v@GOr>>S!{DC3(z& z0GpNE2>M20=R4S53N{yx^_gP1aBR20<`NP8w-#(H8h^E^(DwlqQBFzgN7Ug|oO66r zzGpt9=gvyp%F-AQDi@#!U2k~AK^UG7(rX4NxP+?NS&up6zP$PH6H{JjHmskCkLnyk zBwgOj(FvtW>TS;NQ7HiyP{EA1qB;XT3ao-QdcdQUN(W6zcI67nbL3(Pj|VsO%+k%Y z1r7#WoLja~3V1=01`x1|*WjWys-%y{b2dKTrCZn<_?dC0Kf&Abdr6<5mCPRw>?DEN z8;3_ep05f2G8-4J$snHf=`*$boWZ6fKmYtIwW5X6lbaF`BLhIt=>_*t{PE{DdY%)| zWQ?rJqPu(eUUN$gi|>|+Td*!L@32ldC%0wK`Nl0GD_5%(bk(5P!MG2bso}HjCOI*{uhVz=QxJ8zJB2p}d8G_N2+w5%Bv#F_u6h(Kow462)!=aHz zAs&jM%ogXbbxrk*)~S%gFK-hQ!q|&X_JkpS$~ZV1+ts>qqe0LqqOT!fq>9{%la^oi z*_3Y~0}4rFQ+53@Jet8+WV&F$z)-~Xup|kiK$nEF<(Z{M?m;$gp{`hb3|L%b`nhDN zriu@j@mT?ItI#-;N>^}Y+Kgr+9?zEi&ec0N<@p_V9>`vCvW8&6lwt}x;!i#9eOl%x zC_|iEUV(B{i?BIV_0g<~GTX$*Kq}+AGIAFavPynw1HWC%+@uVawu{%Z$m|sO>hinO43*V3D6^B1CgLa z49f|xNAvJayYsY>dDtGyiU8+XU1!-uk0?Wn0kEJ{e`!^45g4240GA@5au{8|a>^O- zz*HaUWDO*o(+IVMW3gdacM&X>S@p)GiL9l1DKSy1It+eMO7P3yNO&c=N7<~RX$?j8 zc2?Ni-$Priu)DX5Ti0%VsprBYJi{5zvGGf+y@zc=wHQ6Zv=m9j6o)>GuL;cs#-TW6 z(NGECv|kpyQqua6SPLsIaV2B8RU~lELp_s6y0NZuo*e;Q^fu}dCwoAYwy2Q3RJ=0_ zCWMdcKe~26MOE|#mXnKH^?4fzsFyX*T1UppqWo)8J>axtecUxq; zbeyiw{o(16e|Ghx&!?3{%I2WGtcc%ZeK>{ftRkzaFh9z^zO`;=DQi4!0?idnU}v|?jHpq@!= zwE<-Ycf1Frd~iISY7=6N^YS(dQB9kLPo!ZX=*ty-p09{k<5bdQJ{&!_8OXRm49U7= z1R@{&nJ*287&B|lYXF)+WxtStK8h*f=CB%=Y}A!G;DicUN_tJI7(=QGB%y%d21iJ@ zMg22T6o@M$_CRT7__#;2n4g7p#{aq3)7`iLc!BY4=*fdz=b>mCk*i^S<;m800AOJ~3K~(=(Y`#YU zg@Q|IHtId^S->qKIMq`YPRhU3UbdJXnW9$7cXhWA##RHr{JnH#vm;J&y!y}O)$7tx}jM#B- z-punRpSKK`WR)K*i9F|c2-apl6&*78Av%KwrwBq#@d7x_`O!Wif>|Aq*J-q3nIv|-g*u-KUX&+^uNvn=>s~_ijnT>#520m*Hh#DCc>7#E6pfEwFeM$3q zYYthg(s#rgcJ~gjyV}R@&OTnf@fuqD;-cTjIK|KW4vuk-t!}VLkD;Rmn9-*i!)UWI z7`kn+k#$vkibWC>q!KHx8&RSCjK+r@UI3JK(1rY4~j2ilTX%dEZ5);F%7>R z%v`p;<9u_9rzgj__xLV;^y$0)4}QA#2Y(LW^Q#WIV%swAui^VoOzJlJ@dcweNlp$#kx^kX$GMN{5hD4GwXtGHb}^vE=!Y=D#PiWb~aGfSzIY+ zUsC?Qvd(1j-=j$J&TW-tWA6n$s$eM_dCumMn;dF}@CTY}s236dXxz4?G|op{q9jGy zQenXF#w-R2G75I6Kz9YZJBmH*U$D5V z(GlI;%Ue7|?i_D&Y%z5ZMWoGlNv$PKRp!d5Nyc=xEAp$ptDH+o6_2%=zr?|Kn9Q3j2 zP1^z!a-hRzqLXDs3aZzjZTNb#+03+tWWh+AHpCo`n&juD)p`huqB>FZY1gAadDy6= z29re;=Qci`ZCcNX1ma1zl94MdE1mIrJ<{!`78d0D#B*C4lVrLT*}l|qeE*s-NDjGe ziVMuhvs9X;0>~?^CzXS2^tzX#ON!SrJ}(~1@g3yZSl1;#(R$|fVhP1rk;83c9iq>v z%xX@;&9HEQZ#F3_#5sT%Ll6F8&jze8eHSQ2k!M;eqZAJJu4A>c!nM8Yckv1&Pi>-SR?XdXD;v*o2JTq=j#~ z_aGWWQy<%Tm#7oR{n#rpBL19K$8HRYm;k~drpVavTP7>PgNu;q*_lvK(XgzEEdAB| zJ{)Mqfw_&e8-oDXb|9+;cSqlL^s@~X-{82P<8eR2hy4z|^xfQ*_|yeZ=2gEUHV-Ud+Z{os&WCh#UULc7TLaVH)Fvg z&&l3+@R1am1O==_(gNPQ1%xY z!y(tR%zM|NLe)+FRv)<#@bg1>|kla8JbJZ^3}oFyfB;`l$yfGKq>phi4g) zXugMCIly&)1BZD1g`Yo9PLFVMag0aDk8pN=0rQT!g_tQ3s+F`ujJ)RjeoK&K;av~H z$t1g;8VQv+r=*P)oh0BXC72rLQs{suMUPBHHa)gd+&Uc_Nbw@b+d%uXiSL8O;iDk$ zEnO&Va&t(47>J@`AoK5Am5kLh+gh`?kdm}3SG_*T^kb`PqxhsmTp^Kro$;Z_I75Qr z^3O7i!EH)xsbJ`20Axc`dUateCU0^tb%#(cAI)lmPw-D(yDjdShyX-U>y2s+%OR$x zI*ZDNjC6FAy#lneCRdJkV3@n9!fx zqB(CeR41Btl8mBdx<@i}B7)FMzN|TzK&7i;=-1+&*NlrS=pct7GSp>~pM|icqHoPh zB{NxrWYPoXAR*f@cP8A#{a<iD-8rsOj|k073-@t^3twZ4EiyYG)s`T) z#HpN{VaZ#&z*a6$dL=fD2~qUiVdQyFwWAXh3ytSz6QIM&mJ<7$uz_WqU__JlN@B_9 zgB0_@tFFlffD|NoEI!PgDgYa{F0C)2HsF@eD-9K2hw6|Tr3-$*eM>#6Wr?$@Xzdr_!uvj3vejEieJZnim%|;@QVI2uHy~t%Z*SR$qube zKubcl)d(6=U>7sE_m0hSDW~TrcyRIrpWJ&7zx%-h|G|3z-oaH=;ME}D>h-U_{+@r+ z%=<@+pMTo1{@Ag6>ge}YB2NW46UbWJ7nqyEJ$#u`nZomSLhO0Mz2>c&QeJx2qQUWs zUdf26DB5~8u?FEoKm1uuQVYtgdGQ)3bVQ7u<&=;Q*Zg_okW~zBRAy+CXV7^lTX^F~ zf#zssDWGpP%U~VAq_N?u3Mn3<_PmS~-G&#hcUm62q_Kl4jEWh|#%>foC<(cV#DLqS_PmWHy;yvwGD*WKT@l;{lA!*fi8b+F0zT%-q;4n8eV? zlAv8G>3IKxvJOVrP~ztU(Bn2(SLzxhb$UM0y}YRjE6nr(F_h3d<|!ImE6XhtBdpRH z<7s2af<`Jky@pmj8nLZ#|gwcr!>q{_J%CGfb@%@SqNF<7@pm8s`JswuQBFl{hW8NP=?$H3rg#tp89w%7Nf!yZX5S_2#5<~@HrrL5UiYk-&j{6S#13Hrzwu#}UR*hd)8%E1QDx=Ns! zw%S(kw^XL-bJ2z38jS*rdgC)Fhd$uF>Iq+SA>LKc7?)=vm2#kbKLNZ>rJ2F8MJAJZ z(;7ian$k-#LVLdsWm@K;L#G%?E#Lsv=BbjHBevza4?(TlBgy+n|n(S01>xdg< zmHF_gs6we|dJ)}2g(aQWu;y@F#sC7d9ny==uM_n>hrrMnWM|TeYXW?=5@fmotE47M zswPKla6SK7S7kCqE@6b~#r%$q|GX@CdEXf084FrT3!i$WoM0@bnOCoMuH^LnU~eDS zcduh-wS)b(k2h|7IW^g19ODdYoMDX(7A(T+f%TWBMTv`+W|4HUc*nV2jG@pp5X<48 z`xpdhi_bQdFv4;+(~aDjH+P;C%`=y9$E^_Py~P%5#>BUq5{3X6KAm*Hm8?ZmIWt%hDZJkceeNOyY?se-~D^o z_{&?8@5pQTYxqy_RsS1!McV7+YZbbag( zPLKW5`#-_|`teWkkKXUtyaV9TRmXQV2)KIv-@N|2{@1q~Tz=T?{F4Qnk4^De_vOC9 zk6dtOuuWJ5)I^lFI6j11`ejMV&25btI$IK*vZFI+xFnb|QMGxvJLQ*Je1LdBbv_JD z+K_xF;EDw9l1|lRo)T$YRd#zq>(VoClwD%lFqPL;HJT{;_dR10!NQ)yhrv?T;uNIB zF^kn?7Jw3UZ(1OkIqokW;<;}&w5jkbJF!f_q9pldY`4z2*GY{YRN0I@%!WRITvEyd zr)(}aCb?Zk(Sxdj8BW$$1KEbNa?$b?~qM(t&}nz zjGL4tx8TL~b8gqPQWDbpADa%V{P(52)1zqB1oGGbKY~M-@+)(jYewkbLVyzt3pabt zhyT*4bSa-AuZhkGyv{*PXR)>c!GDC+d2j^cYgb^)sJ5oG6ifieK7lGFzQ<;Q1y%*o z;-E8}aa+2A?l-Jt1;q-xvWtDZ_(8zsvc{b!cX4`pf{XPzF4pHTTS#4w!IM@(1xgOB z>F3uG5mxCEMdvqi1?aQ3J|eo1+34H|Vg)s!2q3;Q%>)sQtq__}5{-!}?X}?)Nl&y# zJY2J@hPW6=^SMW83TrhI6QQ7P%wND>rAOxfso(q|6^f-d&JbkMFO` zh<6?N?6jO!y*{pgP{Lno1edWbhoF=4kICYp8QTYeHL0O!LghHUK*<0w)D+^a;GLeI z$8-Mj5D=%0DB~$jr^rzms)!h3YYnBH&^@sh;v=78_$1B=<-oVOPS}QQR;V0HE0%H~ zo`Y(7>b(yA!sR~qa{;jx4^Wyg;xah^Y)I6U!)HpwvnkJQx?6pB#%oQ5;_qA(Xe8d0dM;CG&<5|Q z2I|f@&6J!I1_vwOcS|@dVW_4k27qOf2=9?f{LmtU6eq@6t3bnV?oDfZU$zg^q14P~ z-^bP*9D2yCwi72`-)qPoo9Bl8-CZ0U9HO-qR;wMna^ux6^;~#{Gkk#0acrl!@C|xj zu=F051&@VM7F`kTNEomJYpki(8t~D0#wnKE%Cq5iX41QRa78&RNzz0{`yt_rkimpW zSf39_wu+#UEznHM@-t3ADjHZ17x%-#*xX*{pCsRcb`)n-G;AkyKQd+_}sleM8`7`y@2~xAl--2u>$MkA>ON42x2miQbr0& zvtnAu(16ukN!DbNXX>;Omf`m+SeIc4_6gX^33hFLv&Gja?0C>i=2deOsFoCG6en8M zAnC*7Gs9TG70FmL#}y+@DP>tH5v%FFkG$Y)V#Q15X+GqcNAw1?7< z)7t)(L4(W!Wg}`?V6kboPXB9pi=(FP`4e~&&7&}CIv#e(B`+T?{~W7E2P4YHDbKA< zWk$213OrHfO1q$^l#MiMYkiVe4&S9ByvRA}kIz*K=%#!aX0d8uUTz=IAUB~UC5k=G z=r|W9Dulhj7c1R;HXhQ)5F)#`#t5GriUfIGV2hWZwB8GcDDI^C!{gV|Po2#v2>DBy zUnX9_F<1p|Q5YpD+$_Afq9rF6QA&WV;*FAV-kH~}-eMTEt5~%an(Sf^hj`t;fn7a( z;b+g&v!__EFR|WUVp)2C44HV5-iK0{r!<_f$ZnXnj@j|1?pP^Op_-tfvcQ!*h5F3h z#$eF1@wC}mUlFO=jdI^i6pLY#aBHQs{8$MNoSUos2b4UA;e0S6oC+mg&m!D><=shT zNPLY;6p}h<>k0H~Xw&9QChy4Lqf~Jv8a4y+1hT9uMV2GLn$Ja6=B$ABg(O-lH|c$B zWd&oaSO+Dq%_ajVC(2<93EV;U)}nOhXPpch$wUTjSd$FyY;;S3B>`Amd?XpT6ugD^ zY&OHWT{R9Yr~+#m@^dzl84nA3uHD&WbE5ei9FCiB=K)-We>p~aNWQvHV7iDWbq8!o zyVYt|0%^)N-eR6q zFiO(+JFRg_Ym8x%;Cq~V(ipdCB|(o^yj(VLd+Ir0l6sD3K5RzC6>UGQdU-Y$WRQ?v zQ>G-)f+hK#`iMwO7K^ay&*xW03tO1`Dp@u`w!Q#xY{#^nib2U`aGYB?C;wzEexzzEu)H0cja|ovI$wVF?2ve9A!RWVt$HZj3{u97GEj z3sy^@X-LIoL}&K1NUQIY)0v`Y8i$-hNUW`LCKKSTH@6|nT?igKa01AM!xxx@#WJSx4rZ!1Yaw|o*%={!+@M)a(WB6|l*`%3cotQZ z0yDRNKHyL(Q_RA~=$8VUUI76rhC%b?<~gGR6J#am;Q^m>JWQbHS$#{*b=&-)nrHEsL9& zaKv`pVkFa96!j8i1T@Pm3WbPR?g2`hz&2@)=o8K$i)ulZe=X@FkWdDo%V~|MrbBUENt4-FD&I0oRk3rkd+Zgy(bt^Vcsh-0_GzIE{8cO zg%t;EVFZ@Iy44^lDrQQn*<99Uhd%kXyTSpk;Q%-BrhN;q;A=1Z+&Q^8!FIdBqoey+ zZ`N2Cqox_IPn$8)Tcd2rx?Kr6a(deqFaD41)0#{ zl}nEW6T^En)hW%lHvHU4-Oh1^WQ1K7_OMFMNM%oIOOT#tsZ$;a0`mkgR?H`(9Az5t zx)%V^MJmm52;G$Mu(UkUXWd7tf>zo=43ks>aMtGGD48;0vuH6-YBIPHw7;p0=-YxD zBzRQEuv^kfQ0fT!#&tm9z~^;tLNjL3DtW-k=+KIMOr>B9L-}`c`zjs~){4~2znOd- zF%An5Y9~ip329AG%Gfo}XaH)Vs7fvZzn6@*ETAwyjyNJaw6VF?xbI!th}wl0Psft? z!L70QbIZvX9`oF<>zvpIh@!3q~Ukn_nl1ptJhZnIM zi8#N60Y(y}m(4KkYISW|!Xu3g3aRG`2rbQJNDfJy8|-AD01jUz_*8M@`XO!}-o%ZA z>-fsySMd7HFUOd9j1!#rIZm*~W$%OpI@DX#EQD37%?Tw@e=V|5T``nW!l9w@3~=>= zA6U&4<34MQi%kBMa1zpNUI1CxoYF-jlf@zjp;?C}P}q{OK=l)cIx7G>wE3h8U~xm& zF_`AuI8r2N8;tuz2Peb@zSDq%UC2t|-LYLS*w`9pc8-Vk44-fB>@E_qOzJ_b^I(Fqcc4ZIZt2!&yha#XL)|3I68#=nVTi^P{vX-OsGdy_q%s;(* zTmIz3`~J>*0Db`A_^P|R8U$Ru{$IX+tN)sr_YXII{%ObNqs9FbL%$EfQxQKCku?+x zgRHU^s_oNAKMr4=wv?)(wkzn)LU1DcPCIR{>{A;9f`kjHPPwcoiJ_#Lbj>(otn7A3T+@sXE{Ugb=gtgT6k;BW1DxG#V0}AdB#j0$UD4nvU&_ zR21>P0vE#!B# z)ur#-r{ND_PR?e`D`9|Ykcavj(4<_kY}*2@|feu?9wr&wQ}W7&2VQ4%%*9s=e@fA%2DN3uez zCeS9fM0mTc%66S&&2;#=YfD~3KP^>Go?9Wo^FhL)1 zE-zpIl#@^}PpJsaia6w%l``|jfnIG{)v=leO?k!&ha+ksDfMaSC4IyM2F*GFZ)xr( zb3(jQUZm14c*ogLCAf27m(3rBF1h5_63T@f`j#~|n;UNCd{%@5klul^Cg`vMqz8k8 zu1v!Ko5*?ulvG=XAH1VHwW2|-V<=k{_EL;>a%s%RAT5VJGHfDVo6}zBXUh1)Z}Gfb zJ7P~qGpH_gE!&t<^Yh?$muJru#Tp7csrw%igNBlj7u+H9$>Qe<)f_$I`HZ23N<>3^ ztIThg%qq|T{fSY%GOm$q9AjW*#KlbAT1FYB9YH!-D+JDFHl(*m1S4S6HJLdh9#w~n zp`esXKYls{PyQgerx8CKjG7$yT|c~un}@I9aPJzfA701d!SyfoT)2m)_{1OJ#Luzlg2j3z zCnbzI(@ZjbA_rJ&JBMrMaw7-uIZPdcz-~i17Rp2^tBS~I%8g%RCQQZst#Pd=>gP3ALIbgIR9wKvxRuhV8`$ z%Vv!WyTIdqgwO0QzSsW(|HS?nYkzr5@|*H2_?!5z@KyXfxFKJ~K3>7T??Y_`)zw&v zsdKOu3LVQL%zKcnn%UwP%UVy?C;ssCiGTXww*K?m@8Ngf?YQ_e01vJ@yQ@LK)$3pL z_1pbhn=LLr*vQ2vCdkI8Lq zPgn#suOcJifISNo8JpLfkf#K}a}uHBa4wqrYRLJ7m8us_$V(Lm}DN z-m=C6Y%zXn-AgX7xz$Y?qA}*srNC1G#Oon{WYcd+$IpCrp!|HX@gl@>j%B3hzGT6S z`4jIj(-?Mm7V@ai0)~JdW~3S$iJkx~1D0eB^f8YJnRzRfjQ7#qxJxwZ26XjdQ%SI( zF)x>^q4dQ@Bhm+X-g|t<%ZQ)^1inZ${Gr*^@dJo5^$2h(?!FpMTodYpc%c3b;YFE!iE{kWY=&tnf0|<{kf4z!VRG8D7o!(C2 zfH8OcnbBS;1N2&JZi5&qZuDaJv=CUQBEV}CZ1m7)BRSxvIw=;$S(YQE1g8}MQmh6C zgGUh8^U8-kLO2jgDS(1fdmls9q=M_T+7#$UE$k#2Ln#FA6|B&6sqZ6-HirWIE)qBi z(Mk>gpGzrQw%m}~u+g~3*Wuiyp`9DF1a3K)$a{;5zhog16pKtQ(%GhDWoJ=x7#b1hLW_nW2U8=~v1d{PrSO@0 zQo~KpfCeolz=-l4^~O+}O-l!4Ekxj2+GIGO>>LzjKD$ohpG?q^ybYWS9sUI?73{PX zZrywp*LJVt`u=tN%3E(^Z)fidKNrq?joWyDQ{P~18+7kfLfWL=!AK5a-6aYvvc&nS zULZ)P%v`1+N}l~;K?+SsLVPijF453pkOf2%RSqrH#^>v;8g%a*6S`pp8w@CR*>ikE zVM{4dQP(Oa^-PT(d6t{nVAUXo6289!X|$$owpcFLxU>r#*(p9>p5UG3ef&@Mf8wDZ zy}ag6R`|Mn8*j+B@QQpL*YG;_95ODSS0;I9=oP-+2dU7j7TD>B90G3Hf|M><8YOmhW=Bpq z<*DTv$W49n14w!{M$V1GCLbV#j9F)FRY2fEKIsFbj}iCd9ua*B@^fx?Fj*)dnXm5k znHV<}Nj&a^vu44JoXuy1B7Sb5k-#m_C4$l(K=@VK_ZWqkB8KuG_uhGI&F5D$5(lUAS4@|YB* zyuS~%0I9#uH9-8bFpu`G&?Ua(^w?T~07I2Q13je*xj|~N*@Qu?@y{o;&L?T9GriUq36xg7uG~Z8}dv)84$r)N+0);GrK(s-q?a>Vc8SH zEhyiq%CH)hO@c95olQ&=Ey!IA(`>{Vav+z()e3NP-k&y>!bUq)Mll*f!mb$2K6=L% z<8#V0u2adC2@E=r-h|U~7*~TlWAoA~O0>Xy6a8NDno%E4q2d%sdElii9i8WC%Gy(d zVpNI|u*%3pFMWX*$g_rAdHzar4Dy(gI(us%Y@~=ZHj|m7${~tT&favy??$Q(%I9o8 zmZ89qT4&_1xP>Z0CtHXQdbv6{*ylBp(>PwoC{QfWotz6LABKuM?_nVr(SE#_Op9-k z-h1a}JS`YG=ZB zjc>^b@QOc8)sjuuUZx6}8!mB)oS@}^F5$oRT*#YT(q6&u(WvA!PUv(@p4A6DTFEPk z^K20QG1&o>wi>50DebN~{EIkM)*W4usI25Y8UG`MO;-X9V?2d+x7A9Z`>Rlx*n;iF z1{>SrxL@M&a)P`4F}`Czz&(HbQu~WH@i+0d|NFQmZ{ZNHVowjyr197d)`~Zt!D-1A zr7EvSzoFeB+irfjxx}-xW54(0WBJ}^Kal_NXHWgT_W=9^!1}72yBY*sy}sbR01er5x!#`Avr1gZjZQDt!<>OUqQDqo2jY|`Lc4MMYLkE8`G1VjL_Ieb zx=hha9vk(P>;gp%7aK8OB0~;s2-#xBgn1TV&REC-^Z~LM)hb?1VtSJE*Lw%Fdj{~; zpdlmFCJkyt0J+1gJ@@dh#xsWk5)HR)Cmu!)VpKr36pYs4MG*Ay)Qg&r7(|I8zl1Rh zXeWq-0qx--^xP7dpc^IW3maQ;_!57IF4_0c)O?`W-`&BU?BPIO!E5+6T$dMb4|sU| z7-#2aczpB-$LA-o-eHRm*(Jt3;B%v$)+D!((ewI5kV+w^^luj5u)} zAWR9rt`sr5^g<*0blQZbtw6JBOzuf;I-%uP&s2+Xuc7GcV#a|Yn|Eo&J`o+mK_K8@ ziI}V`2+JX(mQ{gE&mo_esqs@`#yJ~TYJk&HqmyEx-t{CG&vUI*UHN;|Ye0Y^t4G9| z`55HndnId-$}QS5yr>WmQ?yb()FD&KA29$DcHauqe^Rhv;0U^~I z99Rurc(sM)A#W9E44YgFvQ{q{LwI;AcxAF_Aj2kQNLI>#3K|D4mNBhC)nQs$(g;aUD zByR*|>9P^Q5CaG}j027t@@l!Z7pXyiE(Q!<*Fg>j3*;*rLxmj7SDgXM-+h35NsSMd zO(=*=#vrLn4(-Q~R7kmZ+JP!U)9cu&O!{JaPMnY2Mq54ZgKaa4dcn25>$raH2KM)_ z;o9yYUcdFmmwGPT@kcoG3tadb+e{Sl1$nW@oHJ9CM%=GS$EBU2OWMiu{FJc(5*?DL zmU%{5SJ2u)TY>ipFfBIfKk`U~{DNGj|D^ugCms}qWbyk|;0*&l$vUlN6n38g zr_*pMi&WcL!JEPsgPm=$-fVHYxxmxq7&w4>%YNP9{ez94e%gKWk-Ob?*gbJP(WYmvvR25lf>;8vbDPu?^v6l1V9rtI z29?`ROkP>>kqfS1&CnVFN)w-o+Xx*(+Od%vt8ire8xWwOJh)RoU-pE2_-E0Y1!gvv zf`YOk$okR{}|1g)h$*0TQ&~JSVS4yb<5&{MS0_Po~zu9nh`_E0DWp&8jH>V zf-x4zvZ)yVEMvpK!nm3bPw!jm4u{lUU{x51Doi!9#X%TSZJUO-%^?+MnDJ|AS*^@l zAZXn5cU!6-iv5c!mPcH#X5c^+r=1&@gaevXp&9Axp7ir-$=f^`pIdkQ;$kJZh z{)GPYDm(-nG%RTcp!y`Ca4Dbch}g-rZ8!*S$iiQT2iZNq6WH@7KBk zOB4^j5W1N$SKyY_XopD4Ma!WT2In9%;^F8C=5ohsN3pvCR(^mzKfq1xTZumj{qGp zYYqjZ(;F>ytoXzdvAm`x;h~kj8^s(DOcnu*Xv1vcRfgm^CFY~a9{JTiZCL>n%&f*D z?yxrG;@Nz}c{FWCc>!c5dp1k)S@p0*B@iyj>nijndks37Y8Oqn4ts#};?Kc{r3yf% z?Q_}`$PZDarNNxas!%Se2vi~tF9*!VXNQ4-Gpge=6NRfmZHnfi%uJMn#DpRy72R{w z?6s|9Htn!a)fChTYon@1M=V|won+z@VLXS}`R7hULU^x4no=Smp9!N$?R8yCMaO!6 zXJWLdL?mbqH41(BQpr5qxAOU4F`9IAy`m=F>XN2^pV6(kdbhz=^gJblsp+(gHK z5wtkjl8#A)k@g=?g5tZ0EU^NN=p zNn~yK!!1)MhUI|m%1nHT_t(O>QFk?MX~{s~n69?gLc{rh4)S@x_u%G~wDV70d5vkz zrBrOD388FE6_ENKw0InBM?0AfK1?gg>hSUpDwPUDU6g00`%piq3{?#0fE?5r)CH@y zgZ;e&9PIAlVE+KW^yb@N>bY=)Gkk)FIK?>@Y_OH36ft?mRpNt4*(uxwi*MnwEvp24 z*f4;JpCZ|4mZ-7Pp-MfGjE|JjGz^tscXEd^b;Rook7OjT^LDPWvR)K*S}!>C7Zf*1 zA?V~NgD$3q z@J+0+4?{yU$;NevV_lxmrS0BM&{nx+n-?4vB|IV30cLi-nAbWu90oWB_1(Q_| zU7QN3eZfqFl9Qq{U54#tnl|0Qz_bp#<%6+G1 ze5Rid&=o<9Dno$mB&Yk3)u%_&DFrR*J~ttr9f;+iV5U|lUAra^%nz1I!A<8bDDBK9 zc}N-gkhV@jG-KRk%EuKc`EnF3+>BAyuh5Wu>hLC}KXv3AH>g%bL^T;Q6*VZu2R*D! zM|xF_BuS5V4tBViM0rBT^xiS@t6NdIM}Gs!4QVbwt;pUkPK!u-SalTsOp2&5IrmC< zh}9M2@2oW7NEUV_PxMg?k$udqDuxXrC7tTrnxWulc^z~(F3z{uZZC0$Biz@Y;IZ9) z!S;YHZe6>DufO&--uTL!c=eUnaj>&r&5y_=cb7&rO{8uiy z@wrJ#qh;FqCMeO9H!=wQZAulGl)bEpC+fNwT(!EH+<@mq*&Cz*t++9D3$Jg&Y9FWwkR>RU!g6&cRk^ zy-=yoSQs%r)RTIyB^Ph2s{RC z$*3t2!jN1ik47+{m6l%g`B^4fsRfb{HmgPabJtjMh@5sc5r=B4&8%X2ucA!6Y1Ije zM0{j?hjGnl0bn!2*O=ixF_07$Gg%gyd{$29(L5ZKmOxR3MyM|DeiaB~M<#=;#(gRijX&X<&MCsl*%^*bp5mfk;%t42 z4?q6^+hzO3o(t%>Df{@Ayp3COh(lb%jy5KzjAmV^vdV)i&)gmCV8;%~lE64UHHT4S zOD{UkKB&YdUcHX4^6JZUKWV}mvvgBJ26?X$Htjx=uV&r_o~!>XVjWo@Moo+nIh*H2 zCOl25R@~fy?lkm^E&Anxi{%o>c8dFcjNAQl{4f58_{8qNbdJ#PQ`b+&_Niw;%izzxUyL_(wlpaPoZs?;~=W zu3lGzfUDR4SFbi zs$eC|hG%n#rcq#M`q0_7xKavBPrOe;d_e(4zyc>LGtH>Cl1RoBKS62H`l+lJ)%qmupX)}EIcWzn$Yg#_LiaF!Il*=A5>M7XK_CjDpFEe7F2CC5;B6rClFL_?b);^?2BGPW7DlR(Yr{z zja^5r5gDbF5BF?$3>CMPaZvzPx!z@N?gZ2hVRS{MWs#_*1ZXKqW@DEHav~o`rzcq8 zRfy&W*wa%iQyiRBei@5#sYWmUtCjRR)d9$11G31_(IL{xL9OfXOLJS0&7qi7(F)1p z(IQsOWYlvN>*(?Q*n}V>@wxLeQA2Ihw$HY>*le-(W1Qgu?&^;i$@Su1H+FB}*WdV6 z+OB7=squC zeQuE~(?}Sb76TNFtd|<#BG)U+#= zEam0qupy)3syS6W_u+xunH-2I;f7Vz4>eWZzX^=21~*5Al9cXo@^(kWkFvlwupplR zh$yRolz&{xkB*THQfG+P{6nju=CxPe_hC<{Z%Kz|UZ%6hWOV9YN{9rY2?t(mT1F38 zgUFPlH_rjE*ELr|BTt2f^GHwYhoR+AvuKT-N+e?=6u+mrmR%w2YfiSOk6Wb9N~?Rd z96<9BSBCNdw5e&6OxLSnJW2r~`BbT)d(OjCiKlsuWon5`3VmbFjDFxeA)oK4%5 zOo6=LrX_>Wb3gg>i*3OZKva1>>T{q)7a_4Oo}<#n`5{fGLE)HArxnAQ$dM7K#R$sg zR>ojD2g6w>B)nHWBN}Y9)BX;A&;E2W#J-%DVS_W=!;##@IqqYF69`tgl&3iNCpedt2f7w5IQ z`Urk;UMjl}*EqWak!xylV6t-nS%oUVT>;goPb^$oW5pTGiA?f+MFGxIx@m02hfiHY zKCh_?=#*qqCRx%)Mf$l?svGvmcn~a>C1~0coH1Ra*hm?@vS))i)U=4PHc#wxlSpE6 z*RkkQdRo!42~*0#B4t3_N}gI^KSuN9fFw7?v4v*UqXD6FiH$Xvq445|QQlhcpH5gI zC-gH5O9qMBWhU=3d)vIc{^&BitfrKpWqj6%8q8L;rBqqQ5C`V9g(*Cwk4;Y`MWlSX zm&7%h2DxA%!&&O6b`@PVsEg>G^XH5nL>k(h5(*TQ`0at|Azj@hI zT%@*nvRDlrj1VcMFSR<2I;-LY85&T0iB%i8_%uH78k1U*Qt zP!l#U>GRY{Wt86Vp-?eO`IYCzgyydzJU7bxV^-9lJFoRIcv905 z(&++gJh!|MC-Hq#;;U)bbE@{Zy*DMy5xs`s;XQtTSRUpSz_#!E}C)0kTYxV|eH?I&Cp! zj&rTyQV!#NlD^jfOMNu{8u5S7hB1O_QQNq4yBeRf^fBa5rbkT5`Df+-))BX9Zqa}m zxlUYI#OLQVM7*(oi2dCIwABiGdwaNk?FOD4fAMF>Ge5x@);QM6E53(A z?D(GV>V99mZ#Qys_SEk@y^EjR`2hdqXWh@<1@I1l)2nXnN)d4NdO@#$;lGV<mLO+>;bAiAf(E>xNTE0GXIySQ+&E@*@BKRthIN*(Y(ly@>zonBsXVbLyQd6VMD zf;E+|YvQ;GNw1Ev^_M)%SqKFj%K`-GQhB(wrjY?65|CP|0vLBIoP>u2k>I7YJ=BAE zKwmXJ#^JpY%=;5KJ| zxg^m^1|dDO#xccu<>pVO%|E6QfN1z@MZ?3M8?B~F?{W@b_?c;bSCX74ZYjog-AjC; z#f!+XyyoUyhJ^&VoXs3~R;t2oDSfSZJ*hUz?GtV`Jh!=>6lPw_1V&WMNqs3Twjm45 zYnC$q+_q)GJoM{Qab}jDXQLc(!5AiGQ&A*jspd~5sm5O3)!Z%u%6czZZc9{Gnj@;fi|oDp}t_1ahQ>W$a&wYR>8n}@fs(iNI&(acq}HdQ9G9NLFd zSEjAMPeOo!19?ueEg2Oi&qro~iltB;Xl-w@KX-2vz;M`OltTt3)j6-*l=0W~l!HWl ze$Sm7Krg$LqB5--KZEpt&l@eVDlSLtRaybE7a1966)KuCes{RWIcFU1l?-)grz_^P z0EszxD@F@Hvx3N>HpmV`Yg1#LXQ)OTpNUa@A*Eu-xV((LtNWVwSWA@^|Gl>{K*?sd zVVt$0i1M**S0By9h+m+s!K?I*7&q0P`fbM)c?F&#hedod_cIyc8Y)ElwPZUZt2 zOfj;&zxZ9LOhosN$UAQHY>c(Vz)dWpDy6s>*@H_dbEG`!iYWzTiUZD{ zQ*$dY*)W6$n5ax3$@sooKC{!#0Fyv$zp$DBrRvkOVaU$4luOB8(4idj0luvi6^qZ~ z$?*}6&K~30`7!Q2x`TU9?|tFt!Xh1S;T3#czJlv=4g0c(hDK|h&Hw&SMMz3i zsNyM?u0lY|$CpLAW5iZmrbDd=9QCvz9_`MbzO6grZbYg5B9Dv%Y z>&Q^{smhZny2jdQhEx9L>B(gyk)WMwu$XII;ayYH<(y6r1^|@-s z7EEgj4;e!gpH$N>%v?@uKzbmN(oq?|kbhr*68ZN?8>tA>HC43nT#RP?PkO3LKIs9RT?(!N+_CoqOCvHU!Wim3X8V!yUD~ov=l5~vph9sp=91>UzAQhv* z)q>3p5a%e|WprnRY5Ft~sz%UJMSQ~hywVT2F;uAmPw_^k_{|DBC5s}Z^l*W%csqY-jEW~KoFlmd+-9xnx@IFGLuzfX z`kBQAvSN|WSj&tU9B=jK_$h1zG`Ey8;B(LWnJ3?drSF_)*5uPqvU}r@QSftF^^^R5 z5E91zS6oLHJqH(!8`c^Ui%gQ=RE%XbnPOtG4wlP|DM%}Tq$(i?-Z_LJ7iQw1RMV6) za7bCNOs4mV9Kc{|_F@$u!&|9M{XAFp#&dJFchTHGVt*6xM!S^_PJ*(5RS^ydCK>)b zT!oDxTdLY}AYHC2J_9h6dvm;-SD_(gv#3jCviWEZDs)QNNc%#5`s4cWPi&pLMWX@>yBF^CbA|h{R20q>RIc_W&DI^HOGNeK1;sqv9#~ zh;_7S05j^BxHn}QSUK#p5T-Fx2ewi0)qe;4rLGDl(%t9uH!&= zuq&&uD`k8z-&T{!22syO!M^T4=Z8tjKV(|UaGM{4LoK_FlEYLy0vU~arddJzP?qKQ z5=23=e#X#OB!h-eBOl1t`oXCdnv;3{NMWF5_b-iFl8ITR7g z2A1z9L0Xjmdhg-qgvQXpSlIP+;{_ZG2yTSvWHE@qYr>giZ1H`8sYb-C25eAUeD9VI zRHHp4lONzwpnC+bbqRKKH-o64cc&b5l58g|UedZ^5#Q$?l5I``tYxu|f@AfXf~E~* z6j>2tNDBhtXsVP>Pqu_i&r0mPS?A}&;Y%N}V9ti2wimhO@C-RhxiU(|Z6d%*v4lS&S&0pKDILsM;9`* z6Z++ZymfxA+0>baELp-L5pfbB;q*>OV@C}XOsuq|o`oJP>@=Rhu>iaEY!=ifcpM|` z99T#f_Y4g!!|#CSrEj!0)!xc>5(Ri4-Ec<@HuDV0>!q17eZgz9r6pIE2!NGz%V>Zq zHKeJXUT;nBEWQ0PK(cBUicg|(Uq~g4SZq-{YTKNQg7_!}qjwhcZcuG7?@|0>z`D|c zk*tP{N*gQ=61_`OKjCZA4#smS&)3BanlWUR77%6*l|J%@;4sF@mY5@+T+3_ol5ZXn@5luCa!R?tnFjEQ~m%?As=FR}C9c&}DQlm059OTzGc$iVPeU98?~A zN-8ar9QhoWV;mhFidJqlF$`#;F$s$QTWE=t{QD7{nw!@SvAegA>jyXRwby?MhkMs? zv^@R7&xL#b6i5CH=l(htJ46>pYmTNq(p}n!dz9g9!h#N$j%KYUJ#NEJn(#(3fj66$ zOuf#5OkA=t-zp_vu_3g+H1du(x|!8z&H?Bm{QkzGCWl>COAjx|Z^EQKy*4t2hUj5A z+)Brpuklo#;>Yqa{-D3}SH=?XMFazm#gF|%JI06GyZF=fhyIP@JzRSr(r!QTpS^Eb zehlCPT)_da1_4*E|DV4&Ie4~_(~s0;PoM`oy1Q?{ZgZ?4XeO>=Dz3hQnObAWTy6v= z+P_s}9L1K|BxKBo?3BIQJ@Q(Gk#1G2rf{ws{iF^Pjef^6w|8j8+!F~Mz!;NSDM2JW zX4+OPx?`jPXO3(xhH{IW5_BD&uB3STh$Ut-#|N%SHI?0m>bJ`%8b>SOC5Nr85CWDK z3gq-BdO@kuyPU&+;n1K#23!r3^1=tTIvdg27$iFY9#DiVI4wS7xP(WQ%}Y}qQBDMZ zRUDc7;HIsFLzV$N1Di5eug2A#MM?ff*z>Tg9uMb`xHrb3Q92D}QvgD%0*Lpj2*ycfX zd=T*X^f9*U4NfmkaCUx%Tl+VF-5lajE^SGyXA{Wct0CWGen$TndvEq@Tb7-9ePhhE zPkWoVac@LqMmU_#Oq}UXKn7FPKLHN~Pdp%0 zpeis`VBs#EePl*v^v&%~vzs-?;9-1Y%z2_Lgfa-6&DoNjk$G?2d-mRI%{7|u`+XgQ z+0RKKo7_x>hmGvXw zGD~7?%A!6A_Nk7EYr#^+?#xPGv=RlX+ox(p$PI`T6))>R-WQVpELP_tgXlOAVZ3K5 zwv0(D9Pn8-sGb5p8-q{*y7!R`!!uT0ur9rtLSVAc_yFvs4a(dI>Ku(#bzp96tWZ1| zn$S78^n!RL%|CMB`8ntHZwYecpwm#9vY>BVbUqo$Ndts(Y)~(7p!4 zh*&!J_`VkmriG|u^&W#p^RmpOS3e}=ITS#_WtDu17;th(VSxJrku~nrgp*eMJjRS}%Syl6d#n5`5oMhKoOQ!zX!_RDgNlg%-Xj!tlTbc&Oc6X5bk ze=fX($M`1R!q59FxW)@O*A?b%idF6-sx#Fr98|7;zz%zyVROSakd}~)qj0errsY}a z1Sb~*gDO-_Hjl>jV66X=#o`l7B`$uFm1-KF=O`_QQ>2Vyq|VHiGB<}eN0Wxt^I62@ z5f?%S?Rea;@W0|O@Wa36lz>k&1Sm-@S|-+aCaU6OL~J_)7qPid#6~PxMP~ zKZ2jk*MDwba7TM*hpQiUY~NV@@CLlUZSW5v^0Yy(AbwDwi^TppSxm`k7H0#D5uN3P z^LWY6WZK>k;3iWvPv*o=By@4D=&6>6unYsd-`EIE%{I3$pyXDd0q=>9DWrSG_(Pwz zQ8H}+*acX6w`4SS=)%Y$W*6raI_nzMG4Ur5&Sl6Yy;;$h&3Wjv08SZkPVbcx_gpwR z2GGaFVLdBwn>Je$H9)5v>`q`-()Zm9Y8Vo?j2iSo-8VvwOvhrA{&d3>n`2WZ_G|!9 zCna297R^I1*)EF@Nq|}wW~oFNTOX${K9_G|;pwY!6pN_L#x?>3%tNJ;Bdcr}-Gsk~ zP_x{!U;y4M8+bMrIoL8A>XvHE9O(2J#t$FGo4MWa>&Iuf20hp`-m?P-#OGrc#eiEh zKE@1i?`&fDpJo>SZs|BlB?n+VedYn73rLou9RbT`L6Z#@9N{ir`OMFki|b2V@2_xq zc>!NnZZDaPfhkr@(_UhxkI%KGE^xJ5nF4gIL#&^RsdF z=Trf#n9kJl#*^Ps>J~3PLJS$>de4SRs`wuhMG0+kDVm3S%ZjlA7)&?>&`I6F0jKeU zwHoC}CALVaFBq{|R;09vh(LRb>j2#P+W1a~WF&?xR^I%TG;u{M%DUA|GKU6`J{o8?qlU>AfgwQ$92=fNz(l`%DctOru$*&%O(4IO|HF85#ypuopEw%XjDV0SprolZuY@Zal|B zjimW3@wng6^I6DWryt!HBdBlk4>pB$rp53KsCa?2p_Qbc6cJhCEGOV|BvMSYcrri| z;#jimS!H0_R;_}v_Q{ILn9Lol98z>7)c%zv#0S{kw3FZ zFWI~2##y~A24xcghZgPytTmn+Eq|xwAccN^BsWFSTGkc=DyV5iqwg;58K;|5oNmr= z)HXOfI>CcGFMO)!!p;wP*B|4;x7hn0s{{mCr6YMP!zw9tz$A`%Ydc;Nsk{nEqi`sx zd>AG>f`uU}MG_NVNqG(Uu;ifFK>;q+v`xrR9o(?A=1rXSQbm7EQIk}HWm?};Y z(D?n%v3GBdub;h*Kh|&lqz?g{Pul}xg!D0hx2XX51_BQF^tL0r9R%FI{+eEY*uQKh z{kuCn|Gr`O#_EUfnb_L~`^XH>1#)eU6|im=ZB<0FJGyx_tOiu(eQqw|!B(MX!`J6T zqo88Ds{zri&r-aV@3(SqZ$z6VCx8!2 z#_gp)H$i%`$PFOPfQ&hr^k6ifU@RXjnzKw9ka+#}5(ByK@NCImGE9yI(!1{=Tv} zHW?Ig4iZEx1ZzGR3TCnGtC&FQGegeGpRmKg0b;o{1>-UW?I|TmbG{alZ_JZ5s|@d60f;@s5UQx zw%d@VMzp3*Vwf0)H4i()0Dr|+H6VE0XiwAJ*zk@xRZMZ2H+Ur&tdCNHRZ~AU^(CK| z5f7>9PtLQyL<^G*3S%{%v$R1(#6+973M3VbG?qvf@R3Ddx%N`qUQwRcd{&to|Lh6! zrNcX&yfw>ImpNpvV2yEZjx-u)#A}?T8c-Tm!bZi5jP%QatSr@s&5f+)_hi-hxcbyo zczEy<)|=cD0|s=H$867LCGQiV44l?G+6pxDU8)fu1FjrOq+QIlvR0v;Kl7T;|2T)F zO_}!7cP*7%KoBrhAejP@pS4@Yz0$Akp)^QHY})f24kLsy*&b4HiTNcm%F{3n{nr{k zS6s1pSPf08W=YZLs#dxZQW~nbri!!EJ9v2a5ssH5oSdBE z=U@H;Hto|1fj`1CY<-U{_BeR2NZ+(NW!$b;tYy?iP{%vTC}Fb2$ym0uMhZcA+j?aa}buuNluuh+egk)vONTv<+}e{!7eUO@Nc64|U1_mV~hg zy@O(jBnIY*ZN6GaVY4Zhl50{3$AZBp^&}p@Bttzd7!wUWk-n9UTM)iPATgRRcVMqD@Gkw9}kTujONkvcQLNt$2pmpQV z&rN)<2#?|*4@L?9osE~EDPG1K;;C-ILAGI9Vhz2XL_!zw&MNA@8jw7C)n=yxY%8f zVzvUqr;K)~Qf%BGX+TO2LQ2LP)f(cX@#DtQYTd&|kQOBLECxH4YH(wyqZr=fqS$3z z83vQ0a>JSX864I4IeT#p0MXbNY8?-wp_Y{S=f)HDA9ZeJ<7ebfpfSF##pcs0m))vy zi-=Z|&||bQSOzY`|C?=g#*6ZQ8A&TrO|@r}M96ART{H&+N&ENkx2F9jo601?r-CDt z5gBrBQ3r`45#AUMK#;VVUR}LY2hm{(jihPFb_)# zx>@m~OxlnEHx*t>AyLEpTNJYT&oOn&|u8<@{?%CtkGZv{(K1t#_)pUXB>Bx&I(rHhpJJhL4dKl@~I zh{k|WQYDc}3law6kYfB`eit_4kVOF~mk>Is=PGJc>TE&dJz$~oaKcV?mYH|5lypS< zW-~zB61gk?j?auCuyeUkajFr1}0)g1YO8S8XMYmN>UvrzMgxm=W8B4&O zjX0#-qEze<57CxAHq!6Q;?v8Cr|cX?82xD_8J#zll63bWXPl#W z3}bLH>;q%#ql{84xif%H$tf%!AfpljpA99@!#hybVUIV6-#YqlK=pkj3&mK3vFY+Q{ zlM#a&^VoP>7G5S5`xVWyF&CTPX$P!FGhwXq-7*9k6V<$8r|T(J4UyRxK$x@m6*l%> z&AIiFa^a?s1BWfh>x4`qOc8+G7^!hE;bTY?%0|k$Yf!^Yw}JG3%B?#Y7OoI$Bra>v zl8-mo$SIEH1-$IPj0brAGe1|JUq8Xc^)p;=ud(ab=so1N-KiMKsHlYKp_dQ+rXSlm z=Zb$n6tx7~B`YE=0%<*H3G&L=N2aWMz}n(3?X<}-PSgDc>ARX0_o|ie^Gn zxgtiT2Gt6=6-wKbkAa}uh^2Cg`#(3pwS6qk#)zXURY-0)OW{j6TAh)Z#Xjy4hr!b8 zT7${>JT+}zQ|3J?kwYPDj!Xu{KeyAOgOwpl54=r_>Ke$6cvdfn>IhcL>~FSTJg-LD zObsk--22}1vyLsMs?XCEs5hn}c%@dPO(+K)J%L|08e9W5hEDs6Q#QSl&EXa28sF9o z0F0dSjB1T*BA}=oDzH%)pa3OMRO&h$N3#*GI|dVy=Yd%bx?@^Qy_{(@j%Kiy8%y$R z%Bzezdwk@ihU`3ZS_RV(H$lH+%kP$UF|q|FpdSw)p6lb9GOg)(X*Z<%fVXkNKVm>b z1>`B;*YYwH1h*P4Hn%b0<8?=6PcI2of&{&;OA#X@L~1yk@_r|zwNy$O{WhhXR)Uh| z-`Q$#E)_c&hjz~G4XCEF;sw(lr5tiODiOndslPDcnC2tC6qBN+I772ygsX5X_C)>* ztt=&8N}OT+dExE@JUoAd| zH9^vFrf5HpZH9Zm>0$vgBC!mO(_XJhcq9&KDFU<*{d~CUkkXbMbBbL(W1~m1qln;R`X)&NsQhBRc_GYGtdGqaRbkRLr*wd@AS+2D9CzPD!{Fq zcdyKJqwKyXcOaXb9zzDVLuEp`ug3WS_6FY<51fDxpMQjl>*x6R$;Wtl{S+7b>&jNn=sQ?!)*A?bWU53=%osZ^3QtB*1MkGs!JqV>2}?l<1k|hR(IcJ#WtQXsCArxW_@3D73{Y-{?)2%DzrX z@{sioS?SdL`q&Qju@7TZRVa8O>pNmdJ=as*sv8F=l7mPeL&)ZnUPmmNiUqVkEak_A zp;BLRqa4Mwm0C;Gixr@j%A8aXFwXTxoR?LqNU5Wko}xonUrX*B)|8@MWpGo(7*m>q zSk%@K%K-IdM5n-FARvSKA5A2OAC^!z3aHWxoIo-c4*0mJbq(u}r#Cx(K2^Cvm9zx! zsn)=H3bd_8!)a6VG}M($c|hM%Wnld7GD%0Vuu(wC!%c=0St}yY*c?(dgGhy`C*Pcd zn+<5jq29<&&p`{XDC?w&3*W9QW^hI&0a^S9}|9tq9%}O~l%4fVC(wBfLT`Bf9R*I~uQcJ7gd3WqTw?n^6l>mTry}T5hp1yqM@t zDZMbl%_pea6vag!e#R^H+=lZ@7@J%cW>klSY}oQLE%ilYn@5w~WPupad#r6b6B43! zblA#5&DxM5n^ScV*VelB*tBJF(R2Ac{DCfjtkaOoV_Uc~huwOT-MY@Vf3P!)$|5f@uiWxw#D8gce&N%|fn7LIK1&Dc@ck zEvxH?@n|k+>IH*L*}CVo$|0MjCz{*&o5rM!1Wa!>i%w4fmJe$7;EC1!Qxb6LlY6~F z(W4>ZhSxeO;w@t3dPV*@V-|a<77QwiMfAotSP08pv#Ci7ix9p?g+|h^RZ{7|ACpfD zrzK1+A!i)U5zJ|sVP3cwp4pndZYifWCPhys)?i8`sO_F*RO{f>fXowXU=zl;PVcp; zP1<-4bYa61CKDL72BoR?z=)MgD4;9b>&8FFyf&}wiyC7*p%t|=Va zgHUe>_J+aAUXbUC($dn(ZpVg?-Fbo*JsBstVb*+HXbpwf5*M)3rIp2@k_nPUv2wUj z;VuLba+oDV*=O{dga;(3FZ5LvU5a>E;ZZ*05QQaPR!? zr+zlP>yNRsJ@&SPdC&C@)1-KvFvc%cq>Tf$)eqRomhj5B&`lKHHO^xh7AO-(Td5vN z)=@%T`%Q~l&*u>Y-V-J%rCN1w1%5;g^0?Kf;w9^?LEuCw6EcQchYY386M?`N$A5G7 zzu}Mc&x=_hI;CO!WDNoK90GjAA;7md1o%G@tbp6s?I7Ux_2c;ZFa4|LV&C2S<(n(^ z-vthD82l|)`4A@0MEu&-4*+aI^Tc*%ldPo%@HpH(4{=IJQ}zpj*c_17xGf`KrK%w- z0ANC6#Igtp*f73`Z~~?h1P5eaPhdBxzJeshg1c zpN&6PhEl2nujn?J64wHHa_lZg;zqEzlyi%MvT0Wk=|ig(jOtHu+1>EoDlg0k=lW2?&}5j6a_mtG0}Mq+D5< zpkS0wx0MBwHyocWIF@sq$$fm@e-Y<+^qHO~tF3r^^#sqapWtwPz;3&Xdk0B@9$WNe zQ<%0GvScAF%0`+4tR!gDI+RPCXf~vX;<@Eh%FCO3HOb}K6fGIQltO?@JAS6QQP$ev z=a8~d#gn>)ROfglr)9 zHub5lAeEiZks%(4`$~QIsfB8pObeMX0F?75w0A@j8`6SAbx@xv?tR4S38LvP#;=yL z$H^#&VY!be&m3Z{JqEt!1z$v-?^2|ZVe^q(^iny}a<(9)0L;`6t#kkm97Ho1DW2z+ z&s!_dtq7B5@>#16vv?+nGNPHAa2Me}b3oVyT@ew&tPSqpdw_>0k8pZ)iih_fVfmDt zfJ0Xk-DkYM6YQK|#SN@9^xKxE#w7tqkltEE#x%m;TJ+E&mW zt!7lgopjOMW&|4=hcn%=7CV=GpL zCb!4l$3_R;>(|OBorTTn169x`n2-y)cM_tyS+x=AFw?f(7mJd&Xih;X0#`u-Jwk?@=TJiVT`aV zfY?ycWU@y5KE?3L#4ss0^r&UgC;-O;2-0nvp4zeP_ZK&B7P2V9Hi15E(*SfTZz856 zEKZd4zOpg(0`*BLvVgP& z@m!H1rw2X5M)0My@!e)ZPBa;7Z22dvi&VMQjyGlqwe=l0NLt zAy?Fz`QrlTRtAPbcVZkdBGkhEU|un|`$P?$B8m%$5&RMv~+bmS&D9(3{4 zO-_jU6INc&PRmY=#8c#o5+vM09pqr96`tOopNZGY=wut_DMc z2D_=!c)XStL!~taT1o}rz4JSGc>i-aKR&}NFTR2o??3!h&xI$r#CQE|JjErpzQ-zS z40m%&KHXPoXUJuS131_oE6;>6m}8<02cea$q*TTf)FC5ieSG(6zjTx;RV5V>{CRTu z;gSN4O25e(DD5=J#Y=^w*ch53c~nw$@rTPL{^5iF0dMwqFm0_SX2y^G5FiaEdjuTt zDS&r51o#GkKLPO8tP8z;-3|h7Uq8mL|H6KGxA&`W?Q!|NRrcRqW&J*yy#w`+0edcL zJ3v-Z7(8~{3dAq~V>?$dPL%ZW8A_5fy;YRa=ffyvZxJ=u3mj&-HAMJwbI6eJq5;cg zLCyzo0B;&CaGaL6>_r`}R{7n6#%Xba`ZNg6;+wUUM+y`(EB(xBf)1-~d;+vg zdWHf-QP!D$K%bmRkZncd-#1B*8;ZVb(}Jih0<{s9QaOkK+Ch1%7rk8sAy3X>g-?0Y zsmd!dJZcMSl#M&>44sXi6{SD6lF2b>YZk`6AZ=;oSVb%PuY#kp(CS0B4MrmR8mx2g zbF5TGccEAe=rR0?lz=EE*FIDR-2hu@P2dKno52__nM+Nu;k6v5@$a%8s)nA@X$K&o zELe^ey4gT*1jRA#=%dg4EcxK+2e`Vrz}58?_J=)oyUs{Xs$N7ZQZ%7fW?r*`aqSQN zissJM1>*F(%h>cN#-?oyq)4Jp>O5hUmgxjFU`Uv0W3j9S5#eg)SMp=;H7ra`NAMRiRxaMN5)x;{A(`Sqa|o2*am!6UDg`Ai5;H+T zs$m%kGCqB8K6%kQSuhD76~go~`b(j~4yX+6y1pA_8W0tX&Ou}j3Uwsz)Q~X;{Q^74OjKeNw zVCZ;o4d#%exl$FxsLvd9*8I+(KI{|TCfHpZ>jMtx0Gii8(&$UinTOb5fEb3I01#LX zXA62PW$Q5oqzR6e4IbWq5$7j&aC&rxv$OM0^<3Ebins7Fu6>Wa^#ZCU2G-~75W;m; zv{a$1tl0WxTqiPYa^k@?=xML8vHZ%*detFu7G#1; z3~f^Bno0p6qA!c@!GWnQhX3)!Kf^!9AIFzkwiVvkKfbWQze)+PorVD4;}GD_IS^QH zyQ|wl!0qcN==ERuuU_o+;#+%Mey{ubUHAT`1MfQU7_QHuzJtjs7H)3ip;^&??&vxm z!zI1-u`QR3*~_u0dF3d__N&##ISY#HC|jxzt1wFaql}0s(Gl@dwplM4aAwQ~C2gyIWo+vFSF*g8R(!(4PLV}?AH)up+ zrOb`(PkN(0V~SE0K>tETCxJe8!qbxIA47zwnie);p_W@?XW`?P_Cyx9u`$UgwWz(9R~n9MW0j(622flu8;wW*Og? zDd|FxBoz>AR6Du-Hx3?j#mGs=7{1)No(YUBsV=40&NpHPbZ(Wp8GL1-N4cmceOyuj z5ksWTB3j&I*W@kyn&b?4sufoLTqXe`^o(z#sv)6V7R`#9;OJ;U!-56JIP(`i^K<0t zaE+_&1)e>5jAy$mJl$T#=ahpS!3`O0g40|k%Rmn1+%Q??i)`+qm8V^CVVZ^W0QhAl zbvBAIxSRLrsHQGsQ6YdYlb6&Z{u1UG@$G|7kdV>32U`~XPM^8nEI=vgEwa1}xM@YQ z+KBwhrZy$C8Eb{i7^gz1Z1k+?m4iG_*j{>8C9W};!b(jvZS-fAMCM_;jz+u`6qG+F zLB1uqn^3RPZ%>=K^v&Ol;EoNnw<_WzhL6{=8waO8ZOmx1%J-YLvuw13yczeRMK>)P zQFqe326uTznYMu6aSMo24fRqJiTK2!$?t0dc9wU2z+sDepPzvuvn*)nLSLC~~~42l3Iwz3||LM|gPeAx@7@@WT1M zPyKATz%{OYkDczZv(6C(M`EJ2+b}UE8c5+60bq-3tkPq^pF`y2tJIm|#a;+oia-|B zKoONrkQRff9?bWi6p?gNY3&|r_^VAJT_K$*PP`ry80q4WMIeim#l@Dm-Y=F*T;6#f zqC2W7GonypEAZnj3HW3}z*7M4V}+k;*X63M85gaJqLxh=>62n+m*4dm7{ z(+PmF^#Fh-jm1tnjT0H4aZ!>pjo9*6qdcSn*_0L(@Fv54&Q*wq{uC3fYzD*|noiW{ z0+7Xbrp$6S9r9wU|3f5iciF&L;wuhbLd z13EL`8+i+^wPAHn|8k@6no)LCXH+7B1T#RV>o?;AQ~oPcAv<65%IG*LukTbonxl!< z#(*t4uK_8UV@u=|2ML;BLI{-6o#9DuQ%O5y(W$a%nIe#v)o#V*^%i?P!<9V6d-w*{ z&+r+2ume7S@AG(Y=OsLP_y{jQcnN2xCxoeasBkh7ESp&q_%dI)GGgDV$@YrfOSMHx zwKL1S4Q>{e;%93N%Xog|CRnu%<%SUNoN~|9j3*;t@?2*un~soxd^7yh#(9xG`-DD< z7_?2$syUk!7UvKZE(yS@ZCy&AtKErWSY4}NP52h5cCz%TPQwIM4kmKbYJe_7DKRee zxM3sBfIyPGTO3$K#!#>9KUqEJ@W7#HHDD}zME;sgP{abVPRgJ>52)@EHg?0_HGNJV z8`cB~=CvaeA4aD8GXKA&Je|#_7?or?4KRERhRgDh4JT>s#kk;ot%N1=o2|iADpsV1 zR8sFJ!DZlv5mQ{LAD6`b4Vy!*f^)ZkN#-p&flAv@B&G5p-3D@FoG_rAIVhQ*b2rjV zsnn4Ph^dUXDEO=lwup*+0y1ZqavfO;48?}#bCyrM9P-2&X;koZJbCs6?>&ASA76fi zAAImO%=(Y~Y*?W975xHUlzX@@r&weY%ZXfo5N;~`-;xiNpVev|N9`DkY-kG|srdao}bxn)hziK>6G{QOJ=1cN+Y( zqdzp<(FMP<`5aC+cd___pL_WWc)ERx>-7qLSmC_``yV?+{U_moTLc{NeJTO|62M;o z_~#rB+`euH0k^N8#MdABAL4h~?_U@WO;xpNYc8^Z$;QMtD!OC_ox?>v{!15%4V&C( zP)voJ>0WYjV*%;)bRC-UFbex2xwjuob>a_P!`DW+&b%InWp&Z^|xt5B$-;PS}-c9crK~pTP5EEeQf-D zdTtA|<|A;;(;q512;uyl#eb6o8BU1^l|?Q?VWDGtC7J-hY2(V@Z#I}%i_DqMObAQ( zlm(tybEv@$dG#XVjl_@q&VpwV1NF|g?(-*GOMy{?KO0*>z6JDF>HhD^C0}hy{-qlHw zSK0}9Hr3DFrVW3ZlBJsP22AmYBQ7>14`)X(u7+X3ebwcpAfyR{wpDS4BZ$8J}n4+#ZSulKOoNr;8!xBl;@` zv6*0_)$R$bW!zz6JzeXowp6Iel(I$;BOIy=H}yR%ZL!L)@>MG#h*k^dGm)wjA)wYOHkWey8p{T6#4`Mc zLm;JXNYWmc{0Se;XndA-WBBDVV1g>+Jojk;SwjvkCuDjCVuC~FnVL37N5(J?pkVSY zJi)xM5q;+xk;-RPxtE&*00#_w{LuRXIC46ZkouEYC95d8{(F$>=iLF5i~c5iU?!< zRAS27>w(xRN+kg;X2v|^A<=7WVzS|MnaH->w(;~ zDB+R~FIOV8n8jyCFK_xeJA_imTz_%<>_OxeW`R4GAGBcBW>6`ec9DV?hPQOA?cBXG zlmq51g^n@+r+0y$``1?--Q$$r6n+q_mw@kpr*9Z8-V6v{sTE}SokQU<;s9l+ficxi zgQciGa@wb)2+86eBYLo!X<#%j{1@CJpV)fXzJ})adL8u z?TD-Swx^R#hi4C54K==tB{>=0`_O0o&syo=So|m!Xroq*MdWfu`30slEc9 z@Li174w=psM)#q-+Hbq})x7GEay%J}ROmFzYYG(tG1OMEYB zYlMYWQ#wBb+A}1rO?>XAk}n_fq1GAlGu5T0K6QmH8aKuD0savn_Z>JoiD!&DVVtV?I7Ux_0#bB!~WIv_uJRLwU@Rz zF+Fme9l7`-(icZt&|RSr6BU>>*CygtN-AWWSwh#Qrp59B#wIC!p%nMSbTonx7Sny4 zN#&PJpo$x*u1O`H@>&s%d&0kz1Y|cW@4w2xk)`ZX=u7OmEyu_+R~7?RXqB5@%A?ol zX$(q!FaS!T3W1_WV@Mfskj7j2SBKres|mN<(&eVaLJF_cDQFh1!XgS5x#66$w??2H zljqWM;9NzDk4C^;AQl@HGs2L{1Ufda8wFnf+XvkH(u$+=hL`?^;EVs(ij%X(V%SD} z)&Y3;|7dvkpBSFMqgdZ@y#0>_&p)7_bBRpsjHR@RF_BSf@v{u#bZ(LxRPILr03ZNK zL_t)jkuCy%$}J5Psg%TzxzRNY0I@($zZ!rZBW1W3`r7%P} z{;<4gNvxgHVsXOC$eD1BYd2)-o++B)@3e%cWz3nOXEt_DctmN7h^dp9p=)e`o!~OD z1xIp(4bE_edw3CF#v&(J{j;+NY!4Us_~Jc0yL^U=XHT(i_wdtWcyq?d$@u&&<-5x7 z+0m0F!qhCyC_uLXPD`2eM9Vh_q&c*w9i{U?YVoTg5%HEonrSm#t#zjb!!dCN3~mh~ z9nb~dJAL_KCxIIzR)Pa$mnjGd9_&*iHA}b6$~u&rZ#d=N9Ev7C!X|cxA%}PI=k>bZ zv}EHM2Cv0l;8~l44H=u|0A4v9ZTOZkH=ncgsMT{)PRYC;^%|mhJQLOjm zv&06jX``|y)C-1TIdDqcQxcv#WOJ`LJW0@;Oc9eJRN6Kshva6Q5Xz*z%lKL9J8T4R zmghM~D>BjjGf8JWJ6dh>ZOEDPUP?ur@IFkXlS}}-c>LGK+f$u0$q#L$aQC2jRxbExchsH%I(w#^z}?ppo7YXM=gD9}+~^n7o3f znC5F7qO{^Hq|%_LwJzATks@lS2*ZrQ6ecCvn(B&%)1wodpWeaA<`{R+KYi-VC9bi< zAwC<8$Y|Gv5sgDJ5)(cd${&8O*L{Z*Y|+|Ta87(A7|ne85m-dHr)P|0C}r}yiEAPT zjUXgCm1B8DTMb_o?!BPMXsoq3^n^Ner9zQ0tZ+xa*a257+Dm|(p2X>`4YI^=s!4;a zE6$|h!+Qjw@{OZG9VGvmf9&uJJBD z#M}P-|H~l&rXj!{VF!2u;2n&Z!2b)85Ma06)9oPO_VrUW4EUA(@3+7Brl@QLZ6i3| ztXMVzUsTZ~o;ac;+e6af+Ec(=^3Y1cOGID#t^fk9_)u(82?Nq15L!)OO3APD;pwXa8^D`~ zG*_&CUDXO=2uOjDV4d60%)a#zkw_4hDUahuh|Zj=tdt1m&uWadqTey%g_Q-96qDUN z{XQ~e_h#WscR(fHoJpzxLYDpTD~4bBcMQMqZwOxaHH91m%PHW9#D-xjWzo11yz*O) zSN>Ks1cwiSH~)LX({FWr_%+45|75{o7fKOB{tW!QJ>LsAf1KuvBDTC){7$t%<`H+= zAe@;@TCvxHj<7MLZ#Df4so-#7F{?&7Z1NFem}G3^U6gR6q`~L*nhoxa$hThU5uR|x ze$&d5(O=NC(|E0~HLHD2b0$$Zw|GOzV%+ewWx;7X!D+vTm+^}@$18Y>?|-J}$NNv; z#pUifo<4tq%k2g3`n}>fC=Bi`MIj@)F1M@nZGtgQsgzKk0BPP>#J4d9sG-knQOaTD zu+|9g2Sww3&5h_ZQ_4uUuHaUf;Lx61p)rtA=xDqxITnpD&#^@fHILS|JQCru;r5C5 zfr*haR5>D(H=Q;cOKU+&`@v{N>Aa5|rPJ=*aIsSoACauEG{yFjr9Q>ng-wCYdP=(C zP;V8#C7I}woHVjXoCJ4Zg0ShxiBDTW4poc;nuMD<0f&iPbLb6aQY`K`N;YtaH>mkF z#1P}`hY_DLVkg~3#GgpmaI_+7`OmbtxlM6&;WRGGl*!0050-+3Qi~FDk)hqNv>8+f z-wV7ev<8T!8p}A?mYe}1Ef>NemropkLZ$j(9;A{*ri#5DMJ=AO%89*HlxuwMX>+q| zs6AB*!_J{0X&5mwd8DQ}fGA2Oel9%rD;%)mARTLvZqePaF_MHipz=&GF`qsgz-+~pT;bSH0x+t) zR#MHF_iqk$GA2c&0D|tl&cvXptYyDa6|9(SKU9l#4s(QRF;l`9MbHS23`M68`$xeg zIsE$Q8hX0Ij~isO0gg6&%L3gjINB(rKfv+v9UKn(sL)n}tPbC+&Yv#z*)*-p2=i`Dup$pNt87hDZo_gF}EnLX(=I0N?BnPfb{>e zK+3G~ViKf}(C0`eFRxohYE{q|b@xI=Mae`n(g{)My!P82zxkhb{QAG^IQ^WVZ4|P} zvN$LD%72YAJsm6!>t9L?n8?zc}Vrd-_k--b# zGj=EkQt9CIe8%Rjy!xdwn7qlrWDLd>qm+eR7TxUREM>fnS?w}OH%qx&&69ZoG0DZS z0lY(c{nKxX@qJlt9m?Z8K`)sUkTq~Ose&`}kv09foC2-;6$jhl5>N21d>zm5)@S>m z5W$xoeF=~5zKoY1KEnO`_pwML8-nC-r)5V`9_``Uj7}ls^<-0|kD7J0lqcNA0FZ;f zq^0Mzm}-L*WJ_|pvS@T6cvRW6>-2YE0)&ze!M{^V*UMXV;lLud?4P*i1U^}HZVt7I zMNl5^1YGHm_10-f%RqU~D_D$?ej|2FMN1Z4z|G`=xX_kCe>0}dKaX;kF_22{c4oGl zXVamj2+-Nb!~Dy^_ZWDFiZrw7y}3Z!@cqW9IS0yQuOt^DxBvVDTMkr&Rx-XDbAzWVz&(9YTXWD_(CV9XLz3Aex5$9~DogDP?zEO|QUa5vMl>y$YC|OM-XAF8cj%(Ur$^j3-k2<>S>41E#B-;^)mf!@U(KgWq2p+V48(JXmL32huKAj{#Q!~l4aV;uQW z#cify#F?^Dr{T;+DVv4zyPWNXv(*MwpXGuy?dFs?pQUANDu7k>i|x{kWpNa)2eb zbm_;()ObQ!WMhDSM#vAP*l9Ijfl;=7nYIa(DwY*tAnC)0XjNRLw?9{k39hNc03VqF zxot{mp)$EZ)Bh_%$e0g8fBqvsPnF!r3;+`_wtTPtn&bEWvyLzQJ)tDD%}dNGTGPAU zy;rj}dobhS8K1%N1K|FzD!%x4fmeUG<8!|&c=^{mHgH_LF{r&FnG!L<0)0@Oiwik} z)bd*Ex$TPYv+3;524k`^?ytV$__dx5HH#(#W_+R9^w$<$Zb0pv`P}GU76DAfL2a0) z?U7WRQv#lH!5{^G>lJ^<`XeKuGMca>Jc;J8L&vUP;R=uOu6z?8;X9w{xv{qcUVHdD zUb_D>?w{YogBM=JW;uc`ZRA8lDh5zoZooa$OC3$-fD5XO2D6eMWO#kY*)ods{QZ(! zK3*>g_Dd;u#cj<1eK9mksjN=QpF9r`{DR#0=KW1e&KO#S8boEF<0^J8&&eWdj%YQp zj6sX-yHsnkaE!> zaTan^vWQnq5ogLF1_uM0?z3qOY;J)5!`|o zRlg0;EeCe_JrqYqM#fG8`z$qPWCbK!Cx^@?!)}7& zr+D*&AK>!pN8U1HCo4XO7w|eB;hvu1L^oJu;WJG`Im2twhK?)FO%B40?4k`$ZmOu# zD#aXNrD9BG=8oRDSS$S{YeRS1sVpDO^K*YT+-SwK<_e^gAiU(2S*b?IWyar1+C=sp za&ds~46^oMhqMLS8Z^WOP+y?h&{{*=H0a3@mXi%OM<+NrJ;&MRF3wKx;+~)3p4`Db zIm12N!2{gI1HXe`kXP_kc@3}1L)^y+HrntES2e)+e;5K}CA7zg2}~uxUvdEO#|W#y z?dx_BaQphHRt4A};aqt++@10KJnCZ<1j>r z^irfg`=t8&p!AiRKvFr7QIaV^HmSxo^XJhOXi^mEToH}UAU_Kmu%q%TBPL$y$u$#r z2V@ODyk=ZkcQlKk2UZRTy1;gZzOFdf7JFRc3RieXzJZSG&+ObVGrV;7WxW32=W+l1 z1-$a&Bb=O{mA^KxH&3-i7UdkmjRt>sXq7{zP{c%G7EP>;LYrNF6m$gcP1*Bv4!qKS zGfSq^j-VR8<1E~pl3ItE`9#RDrPOO2^m(Cai)2BQ^i9@o%!`d0Y*$_ zLdh^1GffphP>=CVjV!hv41(3-F znvJxVY9hAyxRJ5|0h%i}Z9wNXec01*0%efExzZ-!zyUaPd3$iE1gt;}-qYV@V-5Xx(jTX8qSM{8;m zg9i=orsq)8a5LJjR3BPtGI1>sSgVc0;#4zDsXmy7a^eM1EYCnC>ZICZq-una-f?+# zg{zB8Z1+3tb~|kMdt6^#;(8YYfpuMRI2>?T4_MuB=pEK=V%LoGT8r54bzLP(K-viN z<9ueQ1j)Zig`1Q;WYFGQp6L~RoP)lc0BTO?=BG2i`vJDo8t_f53P!zF7G1IiDnc(+ zBC{d~Wq+&sL#FRvMr>s?^vbvA1(~hIM=G*XA*pe8ipTRQ*%cXk5SN1D{U`6@gXiz# z!;6pb@zWFOv6wi z+hh1NWZ!{phhH7wTZ^-HQAlf5cZx=B*>WhbY|xg5<@5xb%^hs?9H%FDaOdbQ?#q4L zk#jtd`*?(~kVU%w=3&1Q=Q#ucKv?cKP?FJV>DnXzT@>V|Fd0RUb!x@1slrF?J zdpx9BE!MWnZ9FtelAlFc{)P!~H*$gfM)tU37$qd-Zx%mO%T1dZytUXkY8F7Fa1jXl z4a)&;6hXovMKtAu0xn73=1=h2@2&WazrW)AK@L&`tz|30)B_;0eRGJCN{L!@X>C;N zv&D#A97Sux$wT1fzti#Hmj!oTivsofZ5>T>Zmja}@_-5EHYaAIv4nljZWX*m#Aw3XECRnS(d z6il#mfgS*?fOmeXoji(_#fe4Sm$_l5*Kq9d9=?go&lvK1@9aLl`0|%<_xvtidFdtG zIlYJ08a?&XAWo)jYtq%Z(FsX+*mP>xM_^iV11cYS9@M2FB*BDKl+0&`tHfu;rb|R? zWt_sZGsy#r7#J8a|~~Q-rU|co{dgROcwjK4V4>M zGcHO;L+=I8=$`1=Fn^iuE`fz$^tOv(+Pr0 zFS`!QM4r8=&Zs08FYd({20Og9@%!?sNN-a@b7e|z$YFRkz&eEu3Myi@(oyof${y3} zisZ)MW5sB5Je|S%I6GZ)pd8QOMjJt$+KHLS6A3w z#{l85?%^spBC)+vhL|oe^yD0*B`br(f*Ozbunf96T2q2LCnX@GZ)>q;RNxd85mTJ# zv=GQ=uvf?i0LRmdXL#@V5AfvbDL#DiA$GgnkNjM?ixd2f_C>s?_i)EgaD=0>*W~q| zU}s^(u1F4e13((wC&dwtN1(5?N=gz_Xq$Wkx%kl$qnZjvv7y#T#z5YS1uCSPQZyDK z#-VN5dwAZvOPzVj`_mfFfLb;U#hSv&or>!YyAEtu=%GXQYdqW9Qi{#Gw)i|$Y0#xX zH;U!>2yJtWWpjelF< zF@fte1o!~J_Yq8hKj#qOHYV_A_;m{l{26`ygZ@kQAIR6<*vj)w)3#Zli{hx6s|r*l z!nk9DtiBk<<*p`KgH)!y55lkJ_9G8^nAPiefMwGkh5e!= zl{1T5r>&sf*yy3adMO8V^B|F9qVLK80aZ|&h6Hq&ioGV>BJq&w-5@Q=f&%Z9(53)C zn?%zZa)@%X*ekzkz-P(^7_d6cSh|!|dlH`wEs5DVnNLVy<)V{jo#u2S)Txvf3SS-l zQjy+w05z1zjbOqJ7j8s-#f{ANvQu+ICe^X$4rh|ewrGN1`W@iWzuIx}UBQR{O!4$P zhUZ^vc>XoV`(K;M$b9b#SRdYQn_!SStdsn%3E&e(Dv>RuGG!Y2h^`dEF;z$V*JbjG zLvF-3DFk4uK-w#E+cdK}j?F3CSq8ZoCtulm#169Lq7z z{2tEzKF;+X@EJ!DfAI8u?D`%T*H?IUaf#1AGWhDi#>>+VX_3B=g*2t$1Ox;*TxD21 z07OXpTASUBAIwUtB}ZVM-euZ^Wz%mZ#Wx;Ma>HgY3Sog4_ojR`GBY3Fjv<84T#GXFinU1Gy_6#cYM068D=Ufv1Z z%ppvJxN*l!F|Jy9!6mIBX58uz9%m@6l9(!$;vx2l?I~>9(uInvV(HZ489)|*7eFs) ztv=a`gqhyrRI_kU6p?JhzLC3qfuN;LjHxco1ij7^B>WwzM>-fGHOtp!B&SXsb)g?+EHm8GKpXa#N>sR@u^BcaK_}SDmo0i?G8^a zE?~P3QNebbp8sy`uShN7he7%UOamNOIx6O zCVn(t6CNWgvyPLa6P%uIaC&lzJ7=e*=E&!KdbQJPlhW-Kz(N~|B~_l!+K3h%*gi`; z(G)kC]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

pZWGBT=Pg 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 pa< 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

>uuQ}i0i?cS8e@jVprb~xF0p^*>{?zi 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 s)R8;fBJF)ne7ZOTFvTRrgc*>9nul&EXIT +IF NOT EXIST "%PROGRAMFILES%\NGC-UTILITIES\imagick" ECHO.&ECHO NGC-UTILITIES is required&ECHO.&PAUSE>nul&EXIT +IF NOT EXIST "%PHP%" ECHO.&ECHO NGC-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT +SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\NGC-UTILITIES\core\1.1.0;%PROGRAMFILES%\NGC-UTILITIES\imagick +"%PHP%\php.exe" "%CD%\includes\toolkit.php" --make-backup "%~1" +GOTO :eof \ No newline at end of file diff --git a/bin/Script.cmd b/bin/Script.cmd new file mode 100644 index 0000000..75dc2c9 --- /dev/null +++ b/bin/Script.cmd @@ -0,0 +1,11 @@ +@ECHO OFF +chcp 65001 +CD /D "%~dp0\.." +CLS +SET PHP=%PROGRAMFILES%\NGC-UTILITIES\php\8.3 +IF NOT EXIST "%PROGRAMFILES%\NGC-UTILITIES\core\1.1.0" ECHO.&ECHO NGC-UTILITIES is required&ECHO.&PAUSE>nul&EXIT +IF NOT EXIST "%PROGRAMFILES%\NGC-UTILITIES\imagick" ECHO.&ECHO NGC-UTILITIES is required&ECHO.&PAUSE>nul&EXIT +IF NOT EXIST "%PHP%" ECHO.&ECHO NGC-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT +SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\NGC-UTILITIES\core\1.1.0;%PROGRAMFILES%\NGC-UTILITIES\imagick +"%PHP%\php.exe" "%CD%\includes\script.php" %* +GOTO :eof \ No newline at end of file diff --git a/bin/Toolkit.cmd b/bin/Toolkit.cmd new file mode 100644 index 0000000..1a994f8 --- /dev/null +++ b/bin/Toolkit.cmd @@ -0,0 +1,12 @@ +@ECHO OFF +chcp 65001 +CD /D "%~dp0\.." +CLS +SET PHP=%PROGRAMFILES%\NGC-UTILITIES\php\8.3 +IF NOT EXIST "%PROGRAMFILES%\NGC-UTILITIES\core\1.1.0" ECHO.&ECHO NGC-UTILITIES is required&ECHO.&PAUSE>nul&EXIT +IF NOT EXIST "%PROGRAMFILES%\NGC-UTILITIES\imagick" ECHO.&ECHO NGC-UTILITIES is required&ECHO.&PAUSE>nul&EXIT +IF NOT EXIST "%PHP%" ECHO.&ECHO NGC-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT +SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\NGC-UTILITIES\core\1.1.0;%PROGRAMFILES%\NGC-UTILITIES\imagick +"%PHP%\php.exe" "%CD%\includes\toolkit.php" --interactive +PAUSE +GOTO :eof \ No newline at end of file diff --git a/bin/Toolkit.sh b/bin/Toolkit.sh new file mode 100644 index 0000000..815cf35 --- /dev/null +++ b/bin/Toolkit.sh @@ -0,0 +1,3 @@ +#!/bin/bash +cd "$(dirname "$0")" +/usr/bin/php8.3 "$PWD/../includes/toolkit.php" --interactive diff --git a/commands/AVE-BACKUP.cmd b/commands/AVE-BACKUP.cmd deleted file mode 100644 index 4e28fc9..0000000 --- a/commands/AVE-BACKUP.cmd +++ /dev/null @@ -1,11 +0,0 @@ -@ECHO OFF -chcp 65001 -CD /D "%~dp0\.." -CLS -SET PHP=%PROGRAMFILES%\AVE-UTILITIES\php\8.3 -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\imagick" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PHP%" ECHO.&ECHO AVE-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT -SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0;%PROGRAMFILES%\AVE-UTILITIES\imagick -"%PHP%\php.exe" "%CD%\includes\main.php" --make-backup "%~1" -GOTO :eof \ No newline at end of file diff --git a/commands/AVE-PHP-SCRIPT.cmd b/commands/AVE-PHP-SCRIPT.cmd deleted file mode 100644 index 153c33a..0000000 --- a/commands/AVE-PHP-SCRIPT.cmd +++ /dev/null @@ -1,11 +0,0 @@ -@ECHO OFF -chcp 65001 -CD /D "%~dp0\.." -CLS -SET PHP=%PROGRAMFILES%\AVE-UTILITIES\php\8.3 -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PROGRAMFILES%\AVE-UTILITIES\imagick" ECHO.&ECHO AVE-UTILITIES AVE-PHP is required&ECHO.&PAUSE>nul&EXIT -IF NOT EXIST "%PHP%" ECHO.&ECHO AVE-UTILITIES PHP 8.3 is required&ECHO.&PAUSE>nul&EXIT -SET PATH=%PATH%;%PHP%;%PROGRAMFILES%\AVE-UTILITIES\core\1.1.0;%PROGRAMFILES%\AVE-UTILITIES\imagick -"%PHP%\php.exe" "%CD%\includes\main.php" --script %* -GOTO :eof \ No newline at end of file diff --git a/example.ave-php b/example.ave-php deleted file mode 100644 index ee5244d..0000000 --- a/example.ave-php +++ /dev/null @@ -1,14 +0,0 @@ -ave->title("My ave script"); - - $this->ave->echo("Script file: ".$this->script); - $this->ave->echo("Script path: ".$this->path); - $this->ave->echo("AVE-PHP path: ".$this->ave->path); - $this->ave->echo(); - - $this->ave->echo("Script arguments"); - $this->ave->echo(print_r($this->ave->arguments, true)); - $this->ave->echo(); - - $this->ave->pause('Paused'); -?> \ No newline at end of file diff --git a/example.ngcs b/example.ngcs new file mode 100644 index 0000000..d44b079 --- /dev/null +++ b/example.ngcs @@ -0,0 +1,15 @@ +@AppType NGC_SCRIPT 2.3.0 +core->title("My script"); + + $this->core->echo("Script file: {$this->script}"); + $this->core->echo("Script path: {$this->path}"); + $this->core->echo("NGC-TOOLKIT path: {$this->core->path}"); + $this->core->echo(); + + $this->core->echo("Script arguments"); + $this->core->print($this->core->arguments); + $this->core->echo(); + + $this->core->pause('Paused'); +?> \ No newline at end of file diff --git a/includes/avecore/AveStorage.php b/includes/avecore/AveStorage.php deleted file mode 100644 index 4049504..0000000 --- a/includes/avecore/AveStorage.php +++ /dev/null @@ -1,29 +0,0 @@ -ave = $ave; - } - - public function mysql(string $label) : IniFile { - return new IniFile($this->ave->get_file_path("{$this->ave->app_data}/MySQL/$label.ini"), true); - } - - public function ftp(string $label) : IniFile { - return new IniFile($this->ave->get_file_path("{$this->ave->app_data}/FTP/$label.ini"), true); - } - -} - -?> \ No newline at end of file diff --git a/includes/config/default.ini b/includes/config/default.ini index f1120ff..0373af1 100644 --- a/includes/config/default.ini +++ b/includes/config/default.ini @@ -1,33 +1,33 @@ -AVE_ACTION_AFTER_DUPLICATE="RENAME" -AVE_AVATAR_GENERATOR_VARIANTS="1.0 1.5 1.75 2.0 2.5" -AVE_BACKUP_COMPRESS_LEVEL=5 -AVE_BACKUP_COMPRESS_TYPE="7z" -AVE_CHECK_FOR_UPDATES=true -AVE_CHECK_FOR_UPDATES_DAYS=7 -AVE_CSV_SEPARATOR=";" -AVE_EXTENSIONS_AUDIO="mp3 ogg m4a wav aac opus m4a" -AVE_EXTENSIONS_PHOTO="bmp avif gd2 gd gif jpeg jpg png tga wbmp webp xbm xpm" -AVE_EXTENSIONS_VIDEO="avi mp4 webm wmv mkv" -AVE_EXTENSIONS_VIDEO_FOLLOW="md5 sha256 crc32 whirlpool srt webp" -AVE_EXTENSION_TO_LOWER=true -AVE_HASH_TO_UPPER=true -AVE_IGNORE_VALIDATE_EXTENSIONS="md5 sha256 crc32 whirlpool srt ave-guard ave-pat" -AVE_IGNORE_VALIDATE_FILES="desktop.ini" -AVE_LOAD_IDX_CHECKSUM=true -AVE_LOG_ERROR=true -AVE_LOG_EVENT=true -AVE_OPEN_LOG_EVENT=true -AVE_PART_SIZE=250 -AVE_PREFIX_PHOTO="IMG" -AVE_PREFIX_VIDEO="VID" -AVE_QUALITY_SUFFIX="p" -AVE_SHOW_LOGO=true -AVE_SUBTITLES_LANGUAGE="PL" -AVE_THUMBNAIL_COLUMN=6 -AVE_THUMBNAIL_ROWS=5 -AVE_THUMBNAIL_WIDTH=2048 -AVE_WRITE_BUFFER_SIZE="64 MB" -AVE_COMPRESS_LEVEL_WEBP=90 -AVE_COMPRESS_LEVEL_PNG=100 -AVE_COMPRESS_LEVEL_JPEG=90 -AVE_COMPRESS_LEVEL_GIF=100 +ACTION_AFTER_DUPLICATE="RENAME" +AVATAR_GENERATOR_VARIANTS="1.0 1.5 1.75 2.0 2.5" +BACKUP_COMPRESS_LEVEL=5 +BACKUP_COMPRESS_TYPE="7z" +CHECK_FOR_UPDATES=true +CHECK_FOR_UPDATES_DAYS=7 +COMPRESS_LEVEL_GIF=100 +COMPRESS_LEVEL_JPEG=90 +COMPRESS_LEVEL_PNG=100 +COMPRESS_LEVEL_WEBP=90 +CSV_SEPARATOR=";" +EXTENSIONS_AUDIO="mp3 ogg m4a wav aac opus m4a" +EXTENSIONS_PHOTO="bmp avif gd2 gd gif jpeg jpg png tga wbmp webp xbm xpm" +EXTENSIONS_VIDEO="avi mp4 webm wmv mkv" +EXTENSIONS_VIDEO_FOLLOW="md5 sha256 crc32 whirlpool srt webp" +EXTENSION_TO_LOWER=true +HASH_TO_UPPER=true +IGNORE_VALIDATE_EXTENSIONS="md5 sha256 crc32 whirlpool srt ngc-guard ngc-pat" +IGNORE_VALIDATE_FILES="desktop.ini" +LOAD_IDX_CHECKSUM=true +LOG_ERROR=true +LOG_EVENT=true +OPEN_LOG_EVENT=true +PART_SIZE=250 +PREFIX_PHOTO="IMG" +PREFIX_VIDEO="VID" +QUALITY_SUFFIX="p" +SHOW_LOGO=true +SUBTITLES_LANGUAGE="PL" +THUMBNAIL_COLUMN=6 +THUMBNAIL_ROWS=5 +THUMBNAIL_WIDTH=3840 +WRITE_BUFFER_SIZE="64 MB" \ No newline at end of file diff --git a/includes/config/linux.ini b/includes/config/linux.ini index 08a35f2..933b0f0 100644 --- a/includes/config/linux.ini +++ b/includes/config/linux.ini @@ -1,3 +1,3 @@ -AVE_BUFFER_FOLDER="/etc/AVE-PHP/Buffer" -AVE_DATA_FOLDER="/etc/AVE-PHP/Data" -AVE_LOG_FOLDER="/var/log/AVE-PHP" \ No newline at end of file +BUFFER_FOLDER="/etc/NGC-TOOLKIT/Buffer" +DATA_FOLDER="/etc/NGC-TOOLKIT/Data" +LOG_FOLDER="/var/log/NGC-TOOLKIT" \ No newline at end of file diff --git a/includes/config/windows.ini b/includes/config/windows.ini index 63f9b01..b3f9c50 100644 --- a/includes/config/windows.ini +++ b/includes/config/windows.ini @@ -1,4 +1,4 @@ -AVE_BUFFER_FOLDER="%LOCALAPPDATA%\\AVE-PHP\\Buffer" -AVE_DATA_FOLDER="%LOCALAPPDATA%\\AVE-PHP\\Data" -AVE_LOG_FOLDER="%LOCALAPPDATA%\\AVE-PHP\\Logs" -AVE_COLOR="9F" \ No newline at end of file +BUFFER_FOLDER="%LOCALAPPDATA%\\NGC-TOOLKIT\\Buffer" +DATA_FOLDER="%LOCALAPPDATA%\\NGC-TOOLKIT\\Data" +LOG_FOLDER="%LOCALAPPDATA%\\NGC-TOOLKIT\\Logs" +COLOR="9F" \ No newline at end of file diff --git a/includes/includes.lst b/includes/includes.lst new file mode 100644 index 0000000..be4c86b --- /dev/null +++ b/includes/includes.lst @@ -0,0 +1,20 @@ +ngc/core/Logs.php +ngc/core/IniFile.php +ngc/core/Core.php +ngc/core/MySQL.php +ngc/core/Migration.php +ngc/core/Request.php +ngc/core/FtpService.php +ngc/core/BitFunctions.php +ngc/core/BitArray.php +ngc/core/JournalService.php +ngc/core/AppBuffer.php +ngc/core/BinaryFile.php +ngc/core/ADM.php +ngc/services/GuardPattern.php +ngc/services/GuardDriver.php +ngc/services/FaceDetector.php +ngc/services/DataBaseBackup.php +ngc/services/StringConverter.php +ngc/extensions/MediaFunctions.php +ngc/extensions/AppStorage.php \ No newline at end of file diff --git a/includes/main.php b/includes/main.php deleted file mode 100644 index 5b33d75..0000000 --- a/includes/main.php +++ /dev/null @@ -1,58 +0,0 @@ -getMessage()."\r\n".$e->getFile().':'.$e->getLine()."\r\n".$e->getTraceAsString()."\r\n\r\n"; - echo $error."ABORT, PRESS ANY KEY TO EXIT\r\n"; - if(file_exists('.git')){ - file_put_contents('AVE-PHP-CRASH-'.date('Y-m-d His').'.txt', $error); - } - if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') system("PAUSE > nul"); - }); - - require __DIR__.'/../vendor/autoload.php'; - - $includes_path = __DIR__; - - require_once "$includes_path/avecore/Logs.php"; - require_once "$includes_path/avecore/IniFile.php"; - require_once "$includes_path/avecore/Core.php"; - require_once "$includes_path/avecore/MySQL.php"; - require_once "$includes_path/avecore/Migration.php"; - require_once "$includes_path/avecore/Request.php"; - require_once "$includes_path/avecore/FtpService.php"; - require_once "$includes_path/avecore/BitFunctions.php"; - require_once "$includes_path/avecore/BitArray.php"; - require_once "$includes_path/avecore/JournalService.php"; - require_once "$includes_path/avecore/AppBuffer.php"; - require_once "$includes_path/avecore/BinaryFile.php"; - require_once "$includes_path/avecore/ADM.php"; - require_once "$includes_path/avecore/AveStorage.php"; - - require_once "$includes_path/services/GuardPattern.php"; - require_once "$includes_path/services/GuardDriver.php"; - require_once "$includes_path/services/FaceDetector.php"; - require_once "$includes_path/services/DataBaseBackup.php"; - require_once "$includes_path/services/MediaFunctions.php"; - require_once "$includes_path/services/StringConverter.php"; - - require_once "$includes_path/AVE.php"; - - require_once "$includes_path/tools/AdmFileConverter.php"; - require_once "$includes_path/tools/AveConsole.php"; - require_once "$includes_path/tools/AveSettings.php"; - require_once "$includes_path/tools/CheckFileIntegrity.php"; - require_once "$includes_path/tools/DirectoryFunctions.php"; - require_once "$includes_path/tools/DirectoryNamesEditor.php"; - require_once "$includes_path/tools/FileEditor.php"; - require_once "$includes_path/tools/FileFunctions.php"; - require_once "$includes_path/tools/FileNamesEditor.php"; - require_once "$includes_path/tools/FtpTools.php"; - require_once "$includes_path/tools/MediaSorter.php"; - require_once "$includes_path/tools/MediaTools.php"; - require_once "$includes_path/tools/MySQLTools.php"; - - $ave = new AVE($argv); - if(!$ave->abort) $ave->execute(); -?> diff --git a/includes/avecore/ADM.php b/includes/ngc/core/ADM.php similarity index 99% rename from includes/avecore/ADM.php rename to includes/ngc/core/ADM.php index 1c92aee..5a07be4 100644 --- a/includes/avecore/ADM.php +++ b/includes/ngc/core/ADM.php @@ -1,10 +1,10 @@ arguments = array_values($arguments); $this->windows = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; - $this->path = realpath($this->get_file_path(__DIR__."/../..")); + $this->path = realpath($this->get_path(__DIR__."/../../..")); $this->logo = ''; $this->current_title = ''; - $this->utilities_path = $this->get_file_path($this->get_variable("%PROGRAMFILES%")."/AVE-UTILITIES"); + $this->utilities_path = $this->get_path($this->get_variable("%PROGRAMFILES%")."/NGC-UTILITIES"); $this->core_path = null; if($require_utilities){ if($this->windows){ - $ave_utilities = false; + $utilities = false; if(file_exists($this->utilities_path)){ - $ave_utilities_main = new IniFile($this->get_file_path("$this->utilities_path/main.ini")); - $ave_utilities_imagick = new IniFile($this->get_file_path("$this->utilities_path/imagick.ini")); - if($ave_utilities_main->get('APP_VERSION') == $this->utilities_version && $ave_utilities_imagick->get('APP_VERSION') == $this->utilities_version){ - $ave_utilities = true; - $this->core_path = $this->get_file_path("$this->utilities_path/core/".$ave_utilities_main->get('APP_VERSION')); + $utilities_main = new IniFile($this->get_path("$this->utilities_path/main.ini")); + $utilities_imagick = new IniFile($this->get_path("$this->utilities_path/imagick.ini")); + if($utilities_main->get('APP_VERSION') == $this->utilities_version && $utilities_imagick->get('APP_VERSION') == $this->utilities_version){ + $utilities = true; + $this->core_path = $this->get_path("$this->utilities_path/core/".$utilities_main->get('APP_VERSION')); } } - if(!$ave_utilities){ + if(!$utilities){ $this->echo(); - $this->echo(" Invalid AVE-UTILITIES version detected: v".$ave_utilities_main->get('APP_VERSION')." required: v$this->utilities_version"); + $this->echo(" Invalid NGC-UTILITIES version detected: v".$utilities_main->get('APP_VERSION')." required: v$this->utilities_version"); $this->echo(); $this->pause(); die(""); @@ -169,7 +169,7 @@ public function clear() : void { } else { system('clear'); } - if($this->config->get('AVE_SHOW_LOGO', false) && !empty($this->logo)){ + if($this->config->get('SHOW_LOGO', false) && !empty($this->logo)){ $this->echo("$this->logo"); } else { $this->echo(); @@ -297,7 +297,7 @@ public function get_files_ex(string $path) : array { $files = scandir($path); foreach($files as $file){ if($file != '..' && $file != '.' && !is_dir("$path/$file") && !is_link("$path/$file")){ - array_push($data, $this->get_file_path("$path/$file")); + array_push($data, $this->get_path("$path/$file")); } } return $data; @@ -308,7 +308,7 @@ public function get_folders_ex(string $path) : array { $data = []; $files = scandir($path); foreach($files as $file){ - $full_path = $this->get_file_path("$path/$file"); + $full_path = $this->get_path("$path/$file"); if($file != '..' && $file != '.' && is_dir($full_path) && !is_link($full_path)){ array_push($data, $full_path); } @@ -321,18 +321,18 @@ public function exit(int $seconds = 10, bool $open_log = false) : void { if($seconds > 0) $this->timeout($seconds); } - public function init_logs(){ + public function init_logs() : void { $timestamp = date("Y-m-d/Y-m-d His"); - $this->log_event = new Logs($this->get_file_path($this->config->get('AVE_LOG_FOLDER')."/$timestamp-Event.txt"), true, true); - $this->log_error = new Logs($this->get_file_path($this->config->get('AVE_LOG_FOLDER')."/$timestamp-Error.txt"), true, true); - $this->log_data = new Logs($this->get_file_path($this->config->get('AVE_DATA_FOLDER')."/$timestamp.txt"), false, true); + $this->log_event = new Logs($this->get_path($this->config->get('LOG_FOLDER')."/$timestamp-Event.txt"), true, true); + $this->log_error = new Logs($this->get_path($this->config->get('LOG_FOLDER')."/$timestamp-Error.txt"), true, true); + $this->log_data = new Logs($this->get_path($this->config->get('DATA_FOLDER')."/$timestamp.txt"), false, true); } public function open_logs(bool $open_event = false, bool $init = true) : void { $this->log_event->close(); $this->log_error->close(); $this->log_data->close(); - if($this->config->get('AVE_OPEN_LOG_EVENT', true) && $open_event && file_exists($this->log_event->get_path())){ + if($this->config->get('OPEN_LOG_EVENT', true) && $open_event && file_exists($this->log_event->get_path())){ $this->open_file($this->log_event->get_path()); } if(file_exists($this->log_data->get_path())){ @@ -356,13 +356,13 @@ public function timeout(int $seconds) : void { } public function write_log(string|array $data) : void { - if($this->config->get('AVE_LOG_EVENT', true) && $this->toggle_log_event){ + if($this->config->get('LOG_EVENT', true) && $this->toggle_log_event){ $this->log_event->write($data); } } public function write_error(string|array $data) : void { - if($this->config->get('AVE_LOG_ERROR', true) && $this->toggle_log_error){ + if($this->config->get('LOG_ERROR', true) && $this->toggle_log_error){ $this->log_error->write($data); } } @@ -377,7 +377,7 @@ public function rrmdir(string $dir, bool $log = true) : bool { $objects = scandir($dir); foreach($objects as $object){ if($object == "." || $object == "..") continue; - $subdir = $this->get_file_path("$dir/$object"); + $subdir = $this->get_path("$dir/$object"); if(is_dir($subdir) && !is_link($subdir)){ $this->rrmdir($subdir, $log); } else { @@ -527,17 +527,17 @@ public function get_input_folders(string $string, bool $unique = true) : array { while($offset < $length){ if(substr($string, $offset, 1) == '"'){ $end = strpos($string, '"', $offset+1); - array_push($folders, $this->get_file_path(substr($string, $offset+1, $end - $offset-1))); + array_push($folders, $this->get_path(substr($string, $offset+1, $end - $offset-1))); $offset = $end + 1; } else if(substr($string, $offset, 1) == ' '){ $offset++; } else { $end = strpos($string, ' ', $offset); if($end !== false){ - array_push($folders, $this->get_file_path(substr($string, $offset, $end - $offset))); + array_push($folders, $this->get_path(substr($string, $offset, $end - $offset))); $offset = $end + 1; } else { - array_push($folders, $this->get_file_path(substr($string, $offset))); + array_push($folders, $this->get_path(substr($string, $offset))); $offset = $length; } } @@ -564,10 +564,10 @@ public function open_file(string $path, string $params = '/MIN') : void { if(file_exists($path)){ if($this->windows){ exec("START $params \"\" \"$path\""); - } else if(!is_null($this->config->get('AVE_OPEN_FILE_BINARY'))){ - exec($this->config->get('AVE_OPEN_FILE_BINARY')." \"$path\""); + } else if(!is_null($this->config->get('OPEN_FILE_BINARY'))){ + exec($this->config->get('OPEN_FILE_BINARY')." \"$path\""); } else { - $this->write_error("Failed open file AVE_OPEN_FILE_BINARY is not configured"); + $this->write_error("Failed open file OPEN_FILE_BINARY is not configured"); } } } @@ -576,16 +576,16 @@ public function open_url(string $url) : void { if(strpos($url, "https://") !== false || strpos($url, "http://") !== false){ if($this->windows){ exec("START \"\" \"$url\""); - } else if(!is_null($this->config->get('AVE_OPEN_FILE_BINARY'))){ - exec($this->config->get('AVE_OPEN_FILE_BINARY')." \"$url\""); + } else if(!is_null($this->config->get('OPEN_FILE_BINARY'))){ + exec($this->config->get('OPEN_FILE_BINARY')." \"$url\""); } else { - $this->write_error("Failed open url AVE_OPEN_FILE_BINARY is not configured"); + $this->write_error("Failed open url OPEN_FILE_BINARY is not configured"); } } } public function get_file_attributes(string $path) : array { - $path = $this->get_file_path($path); + $path = $this->get_path($path); if(!$this->windows || !file_exists($path)) return ['R' => false, 'A' => false, 'S' => false, 'H' => false, 'I' => false]; $attributes = substr(shell_exec("attrib ".escapeshellarg($path)), 0, 21); return [ @@ -623,7 +623,7 @@ public function is_valid_device(string $path) : bool { return false; } - public function get_file_path(string $path) : string { + public function get_path(string $path) : string { return str_replace(["/", "\\"], DIRECTORY_SEPARATOR, $path); } @@ -638,7 +638,7 @@ public function get_computer_name() : string { public function get_arguments_folders(array $arguments) : string { $output = ''; foreach($arguments as $argument){ - $argument = $this->get_file_path($argument); + $argument = $this->get_path($argument); if(substr($argument, 0, 1) == '"'){ $output .= ' '.$argument; } else { @@ -666,7 +666,7 @@ public function is_text_file(string $path) : bool { public function exec(string $program, string $command, array &$output = null, int &$result_code = null) : string|false { if($this->windows && is_null($this->core_path)) return false; - if($this->windows) $program = $this->get_file_path("$this->core_path/$program.exe"); + if($this->windows) $program = $this->get_path("$this->core_path/$program.exe"); return exec("\"$program\" $command", $output, $result_code); } @@ -736,11 +736,11 @@ public function get_input_integer(string $name, int $min = 1, int $max = 2147483 } public function get_write_buffer() : int|bool { - $size = explode(' ', $this->config->get('AVE_WRITE_BUFFER_SIZE')); + $size = explode(' ', $this->config->get('WRITE_BUFFER_SIZE')); $write_buffer = $this->size_unit_to_bytes(intval($size[0]), $size[1] ?? '?'); if($write_buffer <= 0){ $this->clear(); - $this->pause(" Operation aborted: invalid config value for AVE_WRITE_BUFFER_SIZE=\"".$this->config->get('AVE_WRITE_BUFFER_SIZE')."\", press any key to back to menu."); + $this->pause(" Operation aborted: invalid config value for WRITE_BUFFER_SIZE=\"".$this->config->get('WRITE_BUFFER_SIZE')."\", press any key to back to menu."); return false; } return $write_buffer; @@ -749,13 +749,13 @@ public function get_write_buffer() : int|bool { public function trash(string $path) : bool { if($this->windows){ if(substr($path, 1, 1) == ':'){ - $new_name = $this->get_file_path(substr($path, 0, 2)."/.Deleted/".substr($path, 3)); + $new_name = $this->get_path(substr($path, 0, 2)."/.Deleted/".substr($path, 3)); if(file_exists($new_name) && !$this->delete($new_name)) return false; return $this->rename($path, $new_name); } else if(substr($path, 0, 2) == "\\\\"){ $device = substr($path, 2); if(strpos($device, "\\") !== false){ - $new_name = $this->get_file_path($device."/.Deleted/".str_replace("\\\\$device", "", $path)); + $new_name = $this->get_path($device."/.Deleted/".str_replace("\\\\$device", "", $path)); if(file_exists($new_name) && !$this->delete($new_name)) return false; return $this->rename($path, $new_name); } @@ -806,7 +806,7 @@ public function clean_file_extension(string $extension) : string { return strtolower(preg_replace("/\s/is", "", $extension)); } - public function get_output_null(){ + public function get_output_null() : string { if($this->windows){ return 'nul'; } else { @@ -814,6 +814,15 @@ public function get_output_null(){ } } + /** + * @deprecated Use get_path(string $path) + * + * @return $this + */ + public function get_file_path(string $path) : string { + return $this->get_path($path); + } + } ?> \ No newline at end of file diff --git a/includes/avecore/FtpService.php b/includes/ngc/core/FtpService.php similarity index 98% rename from includes/avecore/FtpService.php rename to includes/ngc/core/FtpService.php index 59dcb3c..e7aa0fe 100644 --- a/includes/avecore/FtpService.php +++ b/includes/ngc/core/FtpService.php @@ -1,10 +1,10 @@ json = $json; $this->cookies = false; - $this->cookie_file = 'AVE-COOKIE.txt'; + $this->cookie_file = 'NGC-TOOLKIT-COOKIE.txt'; $this->header = $header; if(is_null($options)){ $this->options = [ @@ -28,14 +28,14 @@ public function __construct(bool $json = true, array $header = [], ?array $optio CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, - CURLOPT_USERAGENT => 'AVE-PHP', + CURLOPT_USERAGENT => 'NGC-TOOLKIT', ]; } else { $this->options = $options; } } - public function toggle_cookie(bool $toggle, string $file = 'AVE-COOKIE.txt') : void { + public function toggle_cookie(bool $toggle, string $file = 'NGC-TOOLKIT-COOKIE.txt') : void { $this->cookies = $toggle; $this->cookie_file = $file; } diff --git a/includes/ngc/extensions/AppStorage.php b/includes/ngc/extensions/AppStorage.php new file mode 100644 index 0000000..a5c2103 --- /dev/null +++ b/includes/ngc/extensions/AppStorage.php @@ -0,0 +1,39 @@ +core = $core; + } + + public function has_mysql(?string $label) : bool { + if(is_null($label)) return false; + return file_exists($this->core->get_path("{$this->core->app_data}/MySQL/$label.ini")); + } + + public function mysql(string $label) : IniFile { + return new IniFile($this->core->get_path("{$this->core->app_data}/MySQL/$label.ini"), true); + } + + public function has_ftp(?string $label) : bool { + if(is_null($label)) return false; + return file_exists($this->core->get_path("{$this->core->app_data}/FTP/$label.ini")); + } + + public function ftp(string $label) : IniFile { + return new IniFile($this->core->get_path("{$this->core->app_data}/FTP/$label.ini"), true); + } + +} + +?> \ No newline at end of file diff --git a/includes/ngc/extensions/Console.php b/includes/ngc/extensions/Console.php new file mode 100644 index 0000000..d5fb854 --- /dev/null +++ b/includes/ngc/extensions/Console.php @@ -0,0 +1,47 @@ +core = $core; + } + + public function execute(string $path) : bool { + $this->core->title($path); + $this->script = $path; + $this->path = pathinfo($path, PATHINFO_DIRNAME); + $content = file_get_contents($path); + if(strpos($content, "@AppType NGC_SCRIPT") === false){ + $this->core->echo(); + $this->core->echo(" File \"$path\" is not a valid {$this->core->app_name} Script"); + $this->core->echo(); + $this->core->pause(" Press any key to close"); + return false; + } + $params = explode(" ", explode("\n", $content, 2)[0]); + if($this->core->get_version_number($this->core->version) < $this->core->get_version_number($params[2])){ + $this->core->echo(); + $this->core->echo(" File \"$path\" require NGC-TOOLKIT v{$params[2]}+"); + $this->core->echo(); + $this->core->pause(" Press any key to close"); + return false; + } + $pos = strpos($content, "path); + eval(str_replace(["?>", "core->path); + return true; + } + +} + +?> diff --git a/includes/services/MediaFunctions.php b/includes/ngc/extensions/MediaFunctions.php similarity index 79% rename from includes/services/MediaFunctions.php rename to includes/ngc/extensions/MediaFunctions.php index ad19f42..22893b2 100644 --- a/includes/services/MediaFunctions.php +++ b/includes/ngc/extensions/MediaFunctions.php @@ -2,16 +2,15 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Extensions; -use AVE; use GdImage; use Imagick; use Exception; class MediaFunctions { - public AVE $ave; + public object $core; public array $vr_tags = ['_180', '_360', '_FISHEYE', '_FISHEYE190', '_RF52', '_MKX200', '_VRCA220']; @@ -19,8 +18,8 @@ class MediaFunctions { const MEDIA_ORIENTATION_VERTICAL = 1; const MEDIA_ORIENTATION_SQUARE = 2; - public function __construct(AVE $ave){ - $this->ave = $ave; + public function __construct(object $core){ + $this->core = $core; } public function get_image_from_path(string $path) : GdImage|bool|null { @@ -77,34 +76,40 @@ public function is_gif_animated(string $path) : bool { } public function get_video_info(string $path): array { - $this->ave->exec("ffprobe", "-v error -show_entries format -show_streams -of json \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-v error -show_entries format -show_streams -of json \"$path\" 2>".$this->core->get_output_null(), $output); $info = json_decode(implode('', $output), true); return $info; } public function get_video_fps(string $path) : float { - $this->ave->exec("ffprobe", "-v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate \"$path\" 2>".$this->core->get_output_null(), $output); eval('$fps = '.trim(preg_replace('/[^0-9.\/]+/', "", $output[0])).';'); return $fps; } public function get_video_codec(string $path) : string { - $this->ave->exec("ffprobe", "-v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->core->get_output_null(), $output); return trim($output[0]); } public function get_video_resolution(string $path) : string { - $this->ave->exec("ffprobe", "-v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 \"$path\" 2>".$this->core->get_output_null(), $output); return rtrim($output[0] ?? '0x0', 'x'); } public function get_video_color_primaries(string $path): string { - $this->ave->exec("ffprobe","-v error -select_streams v:0 -show_entries stream=color_primaries -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe","-v error -select_streams v:0 -show_entries stream=color_primaries -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->core->get_output_null(), $output); return trim($output[0] ?? ''); } public function get_video_duration(string $path) : string { - $this->ave->exec("ffprobe", "-i \"$path\" -show_entries format=duration -v quiet -of csv=\"p=0\" -sexagesimal 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-i \"$path\" -show_entries format=duration -v quiet -of csv=\"p=0\" -sexagesimal 2>".$this->core->get_output_null(), $output); $file_duration = trim($output[0]); $h = $m = $s = 0; sscanf($file_duration,"%d:%d:%d", $h, $m, $s); @@ -112,7 +117,8 @@ public function get_video_duration(string $path) : string { } public function get_video_duration_seconds(string $path) : int { - $this->ave->exec("ffprobe", "-i \"$path\" -show_entries format=duration -v quiet -of csv=\"p=0\" -sexagesimal 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-i \"$path\" -show_entries format=duration -v quiet -of csv=\"p=0\" -sexagesimal 2>".$this->core->get_output_null(), $output); $file_duration = trim($output[0]); $h = $m = $s = 0; sscanf($file_duration,"%d:%d:%d", $h, $m, $s); @@ -120,7 +126,8 @@ public function get_video_duration_seconds(string $path) : int { } public function get_video_languages(string $path) : array { - $this->ave->exec("ffprobe", "-i \"$path\" -show_entries stream=index:stream_tags=language -select_streams a -of compact=p=0:nk=1 2> ".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-i \"$path\" -show_entries stream=index:stream_tags=language -select_streams a -of compact=p=0:nk=1 2> ".$this->core->get_output_null(), $output); $data = []; foreach($output as $language){ $parts = explode("|", $language); @@ -130,7 +137,8 @@ public function get_video_languages(string $path) : array { } public function get_audio_channels(string $path) : int { - $this->ave->exec("ffprobe", "-v error -select_streams a:0 -show_entries stream=channels -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->ave->get_output_null(), $output); + $output = []; + $this->core->exec("ffprobe", "-v error -select_streams a:0 -show_entries stream=channels -of default=noprint_wrappers=1:nokey=1 \"$path\" 2>".$this->core->get_output_null(), $output); return (int)trim($output[0] ?? '0'); } @@ -177,12 +185,13 @@ public function sec_to_time(int $s) : string { } public function get_video_thumbnail(string $path, string $output, int $w, int $r, int $c) : bool { - if(!$this->ave->windows && !file_exists("/usr/bin/mtn")) return false; - $input_file = $this->ave->get_file_path("$output/".pathinfo($path, PATHINFO_FILENAME)."_s.jpg"); - $output_file = $this->ave->get_file_path("$output/".pathinfo($path, PATHINFO_BASENAME).".webp"); + $out = []; + if(!$this->core->windows && !file_exists("/usr/bin/mtn")) return false; + $input_file = $this->core->get_path("$output/".pathinfo($path, PATHINFO_FILENAME)."_s.jpg"); + $output_file = $this->core->get_path("$output/".pathinfo($path, PATHINFO_BASENAME).".webp"); if(file_exists($output_file)) return true; if(!file_exists($input_file)){ - $this->ave->exec("mtn", "-w $w -r $r -c $c -P \"$path\" -O \"$output\" >".$this->ave->get_output_null()." 2>".$this->ave->get_output_null(), $out); + $this->core->exec("mtn", "-w $w -r $r -c $c -P \"$path\" -O \"$output\" >".$this->core->get_output_null()." 2>".$this->core->get_output_null(), $out); if(!file_exists($input_file)) return false; } $image = new Imagick(); diff --git a/includes/services/DataBaseBackup.php b/includes/ngc/services/DataBaseBackup.php similarity index 99% rename from includes/services/DataBaseBackup.php rename to includes/ngc/services/DataBaseBackup.php index 9c9cd6c..307b4f9 100644 --- a/includes/services/DataBaseBackup.php +++ b/includes/ngc/services/DataBaseBackup.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Services; use PDO; use PDOException; @@ -718,7 +718,7 @@ public function clone_trigger(string $table) : array { return $errors; } - public function backup_all(bool $backup_structure = true, bool $backup_data = true) : array { + public function backup_all() : array { $errors = []; $items = $this->get_tables(); foreach($items as $item){ diff --git a/includes/services/FaceDetector.php b/includes/ngc/services/FaceDetector.php similarity index 99% rename from includes/services/FaceDetector.php rename to includes/ngc/services/FaceDetector.php index 6b2e8e7..77161b8 100644 --- a/includes/services/FaceDetector.php +++ b/includes/ngc/services/FaceDetector.php @@ -18,7 +18,7 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Services; use GdImage; use Imagick; diff --git a/includes/services/GuardDriver.php b/includes/ngc/services/GuardDriver.php similarity index 99% rename from includes/services/GuardDriver.php rename to includes/ngc/services/GuardDriver.php index 39cec83..1733d3e 100644 --- a/includes/services/GuardDriver.php +++ b/includes/ngc/services/GuardDriver.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Services; use RecursiveDirectoryIterator; use RecursiveIteratorIterator; use FilesystemIterator; use Exception; -use AveCore\IniFile; +use NGC\Core\IniFile; class GuardDriver { diff --git a/includes/services/GuardPattern.php b/includes/ngc/services/GuardPattern.php similarity index 98% rename from includes/services/GuardPattern.php rename to includes/ngc/services/GuardPattern.php index 97121be..e84c0b7 100644 --- a/includes/services/GuardPattern.php +++ b/includes/ngc/services/GuardPattern.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Services; class GuardPattern { diff --git a/includes/services/StringConverter.php b/includes/ngc/services/StringConverter.php similarity index 97% rename from includes/services/StringConverter.php rename to includes/ngc/services/StringConverter.php index 29a3a1f..a187124 100644 --- a/includes/services/StringConverter.php +++ b/includes/ngc/services/StringConverter.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace App\Services; +namespace NGC\Services; -use AveCore\IniFile; +use NGC\Core\IniFile; class StringConverter { diff --git a/includes/tools/AdmFileConverter.php b/includes/ngc/tools/AdmFileConverter.php similarity index 59% rename from includes/tools/AdmFileConverter.php rename to includes/ngc/tools/AdmFileConverter.php index 0f9a93c..f87e222 100644 --- a/includes/tools/AdmFileConverter.php +++ b/includes/ngc/tools/AdmFileConverter.php @@ -2,27 +2,27 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; +use Toolkit; use Exception; -use AveCore\IniFile; -use AveCore\JournalService; +use NGC\Core\IniFile; +use NGC\Core\JournalService; class AdmFileConverter { private string $name = "ADM File Converter"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Ini converter (INI <=> GZ-INI)', ' 1 - ADM Journal converter (ADM-JOURNAL => Text)', @@ -40,18 +40,18 @@ public function action(string $action) : bool { } public function tool_ini_converter() : bool { - $this->ave->set_subtool("Ini converter"); + $this->core->set_subtool("Ini converter"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Convert INI to GZ-INI', ' 1 - Convert GZ-INI to INI', ' 2 - Print GZ-INI/INI', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -60,17 +60,17 @@ public function tool_ini_converter() : bool { if(!in_array($this->params['mode'], ['0', '1', '2'])) goto set_mode; - $this->ave->clear(); + $this->core->clear(); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } @@ -78,28 +78,28 @@ public function tool_ini_converter() : bool { $ini = new IniFile($input, true, $this->params['mode'] == '0'); } catch(Exception $e){ - $this->ave->echo(" Failed parse file: ".$e->getMessage()); + $this->core->echo(" Failed parse file: ".$e->getMessage()); goto set_input; } if($this->params['mode'] == '2'){ - $this->ave->write_data(print_r($ini->get_all(), true)); - $this->ave->open_logs(); + $this->core->write_data(print_r($ini->get_all(), true)); + $this->core->open_logs(); } else { set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; if(file_exists($output) && is_dir($output)){ - $this->ave->echo(" Invalid output file"); + $this->core->echo(" Invalid output file"); goto set_output; } if(file_exists($output)){ - if(!$this->ave->get_confirm(" Output file exists, overwrite (Y/N): ")) goto set_output; + if(!$this->core->get_confirm(" Output file exists, overwrite (Y/N): ")) goto set_output; } if($input == $output){ @@ -111,23 +111,23 @@ public function tool_ini_converter() : bool { } } - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_adm_journal_converter() : bool { - $this->ave->clear(); - $this->ave->set_subtool("ADM Journal converter"); + $this->core->clear(); + $this->core->set_subtool("ADM Journal converter"); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } @@ -135,35 +135,35 @@ public function tool_adm_journal_converter() : bool { $journal = new JournalService($input); } catch(Exception $e){ - $this->ave->echo(" Failed parse file: ".$e->getMessage()); + $this->core->echo(" Failed parse file: ".$e->getMessage()); goto set_input; } set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; if(file_exists($output) && is_dir($output)){ - $this->ave->echo(" Invalid output file"); + $this->core->echo(" Invalid output file"); goto set_output; } if(file_exists($output)){ - if(!$this->ave->get_confirm(" Output file exists, overwrite (Y/N): ")) goto set_output; + if(!$this->core->get_confirm(" Output file exists, overwrite (Y/N): ")) goto set_output; } $directory = pathinfo($output, PATHINFO_DIRNAME); - if(!file_exists($directory) && !$this->ave->mkdir($directory)){ - $this->ave->echo(" Failed create destination directory \"$directory\""); + if(!file_exists($directory) && !$this->core->mkdir($directory)){ + $this->core->echo(" Failed create destination directory \"$directory\""); goto set_output; } file_put_contents($output, implode("\r\n", $journal->read())); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/tools/CheckFileIntegrity.php b/includes/ngc/tools/CheckFileIntegrity.php similarity index 61% rename from includes/tools/CheckFileIntegrity.php rename to includes/ngc/tools/CheckFileIntegrity.php index 662db62..f7fc28d 100644 --- a/includes/tools/CheckFileIntegrity.php +++ b/includes/ngc/tools/CheckFileIntegrity.php @@ -2,27 +2,27 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; -use App\Services\GuardPattern; -use App\Services\GuardDriver; -use AveCore\IniFile; +use Toolkit; +use NGC\Services\GuardPattern; +use NGC\Services\GuardDriver; +use NGC\Core\IniFile; class CheckFileIntegrity { private string $name = "Check File Integrity"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Create pattern', ' 1 - Generate guard', @@ -52,88 +52,88 @@ public function action(string $action) : bool { } public function tool_create_pattern() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Create pattern"); + $this->core->clear(); + $this->core->set_subtool("Create pattern"); set_input: - $line = $this->ave->get_input(" Input (Folder): "); + $line = $this->core->get_input(" Input (Folder): "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } set_output: - $line = $this->ave->get_input(" Output (Folder): "); + $line = $this->core->get_input(" Output (Folder): "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } set_name: - $line = $this->ave->get_input(" Name: "); + $line = $this->core->get_input(" Name: "); if($line == '#') return false; - $pattern_file = $this->ave->get_input_folders($line); + $pattern_file = $this->core->get_input_folders($line); if(!isset($pattern_file[0])) goto set_name; - $pattern_file = preg_replace('/[^A-Za-z0-9_\-]/', '_', $pattern_file[0]).".ave-pat"; + $pattern_file = preg_replace('/[^A-Za-z0-9_\-]/', '_', $pattern_file[0]).".ngc-pat"; $pattern = new GuardPattern(); $pattern->set_input($input); set_folders: - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - foreach($this->ave->get_input_folders($line) as $folder){ + foreach($this->core->get_input_folders($line) as $folder){ $pattern->add_folders(str_replace([$input.DIRECTORY_SEPARATOR, $input], "", $folder)); } if(!empty($line)){ - if($this->ave->get_confirm(" More (Y/N): ")) goto set_folders; + if($this->core->get_confirm(" More (Y/N): ")) goto set_folders; } set_files: - $line = $this->ave->get_input(" Files: "); + $line = $this->core->get_input(" Files: "); if($line == '#') return false; - foreach($this->ave->get_input_folders($line) as $file){ + foreach($this->core->get_input_folders($line) as $file){ $pattern->add_files(str_replace([$input.DIRECTORY_SEPARATOR, $input], "", $file)); } if(!empty($line)){ - if($this->ave->get_confirm(" More (Y/N): ")) goto set_files; + if($this->core->get_confirm(" More (Y/N): ")) goto set_files; } - $file_name = $this->ave->get_file_path("$output/$pattern_file"); + $file_name = $this->core->get_path("$output/$pattern_file"); file_put_contents($file_name, $pattern->get()); - $this->ave->open_logs(false); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(false); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_guard_generate() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Guard generate"); + $this->core->clear(); + $this->core->set_subtool("Guard generate"); set_pattern: - $line = $this->ave->get_input(" Pattern (.ave-pat): "); + $line = $this->core->get_input(" Pattern (.ngc-pat): "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_pattern; $pattern_file = $folders[0]; if(!file_exists($pattern_file)){ - $this->ave->echo(" Pattern file not exists"); + $this->core->echo(" Pattern file not exists"); goto set_pattern; } @@ -142,47 +142,47 @@ public function tool_guard_generate() : bool { $input = $pattern->get_input(); if(!file_exists($input) || !is_dir($input) || empty($input)){ - $this->ave->echo(" Invalid input folder: \"$input\""); + $this->core->echo(" Invalid input folder: \"$input\""); goto set_pattern; } $files = count($pattern->get_files()); $folders = count($pattern->get_folders()); - $this->ave->echo(" Loaded $folders folders and $files files"); + $this->core->echo(" Loaded $folders folders and $files files"); - $guard_file = str_replace(chr(0x5C).chr(0x5C), chr(0x5C), $this->ave->get_file_path("$input/".pathinfo($pattern_file, PATHINFO_FILENAME).".ave-guard")); + $guard_file = str_replace(chr(0x5C).chr(0x5C), chr(0x5C), $this->core->get_path("$input/".pathinfo($pattern_file, PATHINFO_FILENAME).".ngc-guard")); $cwd = getcwd(); chdir($input); - $this->ave->echo(" Generate $guard_file"); + $this->core->echo(" Generate $guard_file"); $guard = new GuardDriver($guard_file, $pattern->get_folders(), $pattern->get_files()); $guard->generate(); chdir($cwd); - $this->ave->open_logs(false); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(false); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_check_integrity() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Check integrity"); + $this->core->clear(); + $this->core->set_subtool("Check integrity"); set_guard: - $line = $this->ave->get_input(" Guard (.ave-guard): "); + $line = $this->core->get_input(" Guard (.ngc-guard): "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_guard; $guard_file = $folders[0]; if(!file_exists($guard_file)){ - $this->ave->echo(" Guard file not exists"); + $this->core->echo(" Guard file not exists"); goto set_guard; } $ini = new IniFile($guard_file, true); if(is_null($ini->get('keys'))){ - $this->ave->echo(" File don't contain one of required information (Not a valid guard file ?)"); + $this->core->echo(" File don't contain one of required information (Not a valid guard file ?)"); goto set_guard; } @@ -190,7 +190,7 @@ public function tool_check_integrity() : bool { $cwd = getcwd(); chdir($input); - $this->ave->echo(" Validate files from $guard_file"); + $this->core->echo(" Validate files from $guard_file"); $guard = new GuardDriver($guard_file, $ini->get('folders_to_scan'), $ini->get('files_to_scan')); $validation = $guard->validate(); chdir($cwd); @@ -225,38 +225,38 @@ public function tool_check_integrity() : bool { } } - $this->ave->write_data("State: $damaged damaged, $missing missing, $unknown unknown"); - $this->ave->write_data(["", "Damaged:"]); - $this->ave->write_data($errors['damaged'] ?? []); - $this->ave->write_data(["", "Missing:"]); - $this->ave->write_data($errors['missing'] ?? []); - $this->ave->write_data(["", "Unknown:"]); - $this->ave->write_data($errors['unknown'] ?? []); + $this->core->write_data("State: $damaged damaged, $missing missing, $unknown unknown"); + $this->core->write_data(["", "Damaged:"]); + $this->core->write_data($errors['damaged'] ?? []); + $this->core->write_data(["", "Missing:"]); + $this->core->write_data($errors['missing'] ?? []); + $this->core->write_data(["", "Unknown:"]); + $this->core->write_data($errors['unknown'] ?? []); - $this->ave->open_logs(false); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(false); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_get_files_tree() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Get files tree"); + $this->core->clear(); + $this->core->set_subtool("Get files tree"); set_guard: - $line = $this->ave->get_input(" Guard (.ave-guard): "); + $line = $this->core->get_input(" Guard (.ngc-guard): "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_guard; $guard_file = $folders[0]; if(!file_exists($guard_file)){ - $this->ave->echo(" Guard file not exists"); + $this->core->echo(" Guard file not exists"); goto set_guard; } $ini = new IniFile($guard_file, true); if(is_null($ini->get('keys'))){ - $this->ave->echo(" File don't contain one of required information (Not a valid guard file ?)"); + $this->core->echo(" File don't contain one of required information (Not a valid guard file ?)"); goto set_guard; } @@ -265,73 +265,73 @@ public function tool_get_files_tree() : bool { file_put_contents($tree_file, print_r($guard->get_tree(), true)); - $this->ave->open_file($tree_file); + $this->core->open_file($tree_file); - $this->ave->open_logs(false); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(false); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_update_remove_missing() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Update remove missing"); + $this->core->clear(); + $this->core->set_subtool("Update remove missing"); $guard_file = $this->tool_guard_set_file(); if(is_null($guard_file)) return false; $this->tool_guard_update($guard_file, ['damaged' => false, 'unknown' => false, 'missing' => true]); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_update_add_unknown() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Update add unknown"); + $this->core->clear(); + $this->core->set_subtool("Update add unknown"); $guard_file = $this->tool_guard_set_file(); if(is_null($guard_file)) return false; $this->tool_guard_update($guard_file, ['damaged' => false, 'unknown' => true, 'missing' => false]); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_update_changed() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Update changed"); + $this->core->clear(); + $this->core->set_subtool("Update changed"); $guard_file = $this->tool_guard_set_file(); if(is_null($guard_file)) return false; $this->tool_guard_update($guard_file, ['damaged' => true, 'unknown' => false, 'missing' => false]); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_update_missing_and_unknown() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Update missing and unknown"); + $this->core->clear(); + $this->core->set_subtool("Update missing and unknown"); $guard_file = $this->tool_guard_set_file(); if(is_null($guard_file)) return false; $this->tool_guard_update($guard_file, ['damaged' => false, 'unknown' => true, 'missing' => true]); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_guard_set_file() : ?string { set_guard: - $line = $this->ave->get_input(" Guard (.ave-guard): "); + $line = $this->core->get_input(" Guard (.ngc-guard): "); if($line == '#') return null; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_guard; $guard_file = $folders[0]; if(!file_exists($guard_file)){ - $this->ave->echo(" Guard file not exists"); + $this->core->echo(" Guard file not exists"); goto set_guard; } $ini = new IniFile($guard_file, true, true); if(is_null($ini->get('keys'))){ - $this->ave->echo(" File don't contain one of required information (Not a valid guard file ?)"); + $this->core->echo(" File don't contain one of required information (Not a valid guard file ?)"); goto set_guard; } @@ -343,7 +343,7 @@ public function tool_guard_update(string $guard_file, array $params) : void { $input = pathinfo($guard_file, PATHINFO_DIRNAME); $cwd = getcwd(); chdir($input); - $this->ave->echo(" Validate files from $guard_file"); + $this->core->echo(" Validate files from $guard_file"); $guard = new GuardDriver($guard_file, $ini->get('folders_to_scan'), $ini->get('files_to_scan')); $validation = $guard->validate($params); @@ -353,17 +353,17 @@ public function tool_guard_update(string $guard_file, array $params) : void { $file = $error['file']; switch($error['type']){ case 'unknown': { - $this->ave->write_log("ADD FILE \"$file\""); + $this->core->write_log("ADD FILE \"$file\""); $guard->scan_file($file); break; } case 'damaged': { - $this->ave->write_log("UPDATE FILE \"$file\""); + $this->core->write_log("UPDATE FILE \"$file\""); $guard->scan_file($file, true); break; } case 'missing': { - $this->ave->write_log("REMOVE FILE \"$file\""); + $this->core->write_log("REMOVE FILE \"$file\""); $key = strtoupper(hash('md5', str_replace(["\\", "/"], ":", pathinfo($file, PATHINFO_DIRNAME)))); if(isset($guard->data[$key][pathinfo($file, PATHINFO_BASENAME)])) unset($guard->data[$key][pathinfo($file, PATHINFO_BASENAME)]); if(empty($guard->data[$key])){ diff --git a/includes/ngc/tools/DirectoryFunctions.php b/includes/ngc/tools/DirectoryFunctions.php new file mode 100644 index 0000000..c923647 --- /dev/null +++ b/includes/ngc/tools/DirectoryFunctions.php @@ -0,0 +1,224 @@ +core = $core; + $this->core->set_tool($this->name); + } + + public function help() : void { + $this->core->print_help([ + ' Actions:', + ' 0 - Delete empty folders', + ' 1 - Force load icon (desktop.ini)', + ' 2 - Count files in every folder', + ' 3 - Clone folder structure', + ]); + } + + public function action(string $action) : bool { + $this->params = []; + $this->action = $action; + switch($this->action){ + case '0': return $this->tool_delete_empty_folders(); + case '1': return $this->tool_force_load_icon(); + case '2': return $this->tool_count_files(); + case '3': return $this->tool_clone_folder_structure(); + } + return false; + } + + public function tool_delete_empty_folders() : bool { + $this->core->clear(); + $this->core->set_subtool("Delete empty folders"); + $line = $this->core->get_input(" Folders: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + + $this->core->setup_folders($folders); + + $errors = 0; + $this->core->set_errors($errors); + + foreach($folders as $folder){ + if(!file_exists($folder)) continue; + $files = array_reverse($this->core->get_folders($folder)); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue 1; + $count = iterator_count(new FilesystemIterator($file, FilesystemIterator::SKIP_DOTS)); + if($count == 0){ + if(!$this->core->rmdir($file)){ + $errors++; + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + unset($files); + $this->core->set_folder_done($folder); + } + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_force_load_icon() : bool { + $this->core->clear(); + $this->core->set_subtool("Force load icon"); + if(!$this->core->windows) return $this->core->windows_only(); + + $line = $this->core->get_input(" Folders: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); + + foreach($folders as $folder){ + if(!file_exists($folder)) continue; + $files = $this->core->get_folders($folder); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue 1; + $ini = $this->core->get_path("$file/desktop.ini"); + if(!file_exists($ini)) continue 1; + $a = $this->core->get_file_attributes($file); + $this->core->set_file_attributes($file, true, $a['A'], $a['S'], $a['H']); + $a = $this->core->get_file_attributes($ini); + $this->core->set_file_attributes($ini, $a['R'], $a['A'], $a['S'], true); + $this->core->progress($items, $total); + } + $this->core->progress($items, $total); + unset($files); + $this->core->set_folder_done($folder); + } + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_count_files() : bool { + $this->core->clear(); + $this->core->set_subtool("Count files"); + + $line = $this->core->get_input(" Folders: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); + + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); + if($line == '#') return false; + if($line == ''){ + $extensions = null; + } else { + $extensions = explode(" ", $line); + } + + $data = []; + + foreach($folders as $folder){ + if(!file_exists($folder)) continue; + $files = $this->core->get_files($folder, $extensions); + $this->core->write_log($files); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue 1; + $key = pathinfo($file, PATHINFO_DIRNAME); + if(!isset($data[$key])) $data[$key] = 0; + $data[$key]++; + $this->core->progress($items, $total); + } + $this->core->progress($items, $total); + unset($files); + $this->core->set_folder_done($folder); + } + + $separator = $this->core->config->get('CSV_SEPARATOR'); + foreach($data as $path => $count){ + $this->core->write_data($count.$separator."\"$path\""); + } + + unset($data); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_clone_folder_structure() : bool { + $this->core->clear(); + $this->core->set_subtool("Clone folder structure"); + + set_input: + $line = $this->core->get_input(" Input (Folder): "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_input; + $input = $folders[0]; + + if(!file_exists($input) || !is_dir($input)){ + $this->core->echo(" Invalid input folder"); + goto set_input; + } + + set_output: + $line = $this->core->get_input(" Output (Folder): "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_output; + $output = $folders[0]; + + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + + $errors = 0; + $this->core->set_errors($errors); + + $folders = $this->core->get_folders($input); + $items = 0; + $total = count($folders); + foreach($folders as $folder){ + $items++; + $directory = str_ireplace($input, $output, $folder); + if(!file_exists($directory)){ + if(!$this->core->mkdir($directory)){ + $errors++; + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + +} + +?> diff --git a/includes/tools/DirectoryNamesEditor.php b/includes/ngc/tools/DirectoryNamesEditor.php similarity index 56% rename from includes/tools/DirectoryNamesEditor.php rename to includes/ngc/tools/DirectoryNamesEditor.php index 733f823..6e866b2 100644 --- a/includes/tools/DirectoryNamesEditor.php +++ b/includes/ngc/tools/DirectoryNamesEditor.php @@ -2,25 +2,25 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; -use App\Services\StringConverter; +use Toolkit; +use NGC\Services\StringConverter; class DirectoryNamesEditor { private string $name = "Directory Names Editor"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Escape directory name (WWW)', ' 1 - Pretty directory name', @@ -46,22 +46,22 @@ public function action(string $action) : bool { } public function tool_escape_directory_name_www() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Escape directory name WWW"); - $this->ave->print_help([ + $this->core->clear(); + $this->core->set_subtool("Escape directory name WWW"); + $this->core->print_help([ " Double spaces reduce", " Characters after escape: A-Z a-z 0-9 _ - .", " Be careful to prevent use on Japanese, Chinese, Korean, etc. directory names", ]); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -73,40 +73,40 @@ public function tool_escape_directory_name_www() : bool { } $escaped_name = trim(preg_replace('/[^A-Za-z0-9_\-.]/', '', str_replace(' ', '_', $escaped_name)), ' '); if(empty($escaped_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name"); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name"); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_pretty_directory_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Pretty directory name"); + $this->core->clear(); + $this->core->set_subtool("Pretty directory name"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Flags (type in one line, default BC):', ' B - Basic replacement', ' C - Basic remove', @@ -118,7 +118,7 @@ public function tool_pretty_directory_name() : bool { ' - - To lower case', ]); - $line = strtoupper($this->ave->get_input(" Flags: ")); + $line = strtoupper($this->core->get_input(" Flags: ")); if($line == '#') return false; if(empty($line)) $line = 'BC'; if(str_replace(['B', 'C', 'L', '0', '1', '2', '+', '-'], '', $line) != '') goto set_mode; @@ -134,29 +134,29 @@ public function tool_pretty_directory_name() : bool { ]; $converter = new StringConverter(); if($flags->language_replace){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/LanguageReplacement.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/LanguageReplacement.ini")); } if($flags->ChineseToPinYin){ - $converter->import_pin_yin($this->ave->get_file_path($this->ave->path."/includes/data/PinYin.ini")); + $converter->import_pin_yin($this->core->get_path($this->core->path."/includes/data/PinYin.ini")); } if($flags->HiragamaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Hiragama.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Hiragama.ini")); } if($flags->KatakanaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Katakana.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Katakana.ini")); } - $this->ave->clear(); + $this->core->clear(); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -179,94 +179,94 @@ public function tool_pretty_directory_name() : bool { } $escaped_name = $converter->remove_double_spaces(str_replace(',', ', ', $escaped_name)); if(empty($escaped_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name"); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name"); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename_case($file, $new_name)){ + if(!$this->core->rename_case($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_add_directory_name_prefix_suffix() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Add directory name prefix/suffix"); + $this->core->clear(); + $this->core->set_subtool("Add directory name prefix/suffix"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $prefix = $this->ave->get_input_no_trim(" Prefix (may be empty): "); + $prefix = $this->core->get_input_no_trim(" Prefix (may be empty): "); if($prefix == '#') return false; $prefix = str_replace(['<', '>', ':', '"', '/', '\\', '|', '?', '*'], '', $prefix); - $suffix = $this->ave->get_input_no_trim(" Suffix (may be empty): "); + $suffix = $this->core->get_input_no_trim(" Suffix (may be empty): "); if($suffix == '#') return false; $suffix = str_replace(['<', '>', ':', '"', '/', '\\', '|', '?', '*'], '', $suffix); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$prefix".pathinfo($file, PATHINFO_BASENAME).$suffix); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$prefix".pathinfo($file, PATHINFO_BASENAME).$suffix); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_remove_keywords_from_directory_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove keywords from directory name"); + $this->core->clear(); + $this->core->set_subtool("Remove keywords from directory name"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Type keywords', ' 1 - Load from file (new line every keyword)', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -275,37 +275,37 @@ public function tool_remove_keywords_from_directory_name() : bool { if(!in_array($this->params['mode'], ['0', '1'])) goto set_mode; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); $keywords = []; if($this->params['mode'] == '0'){ - $this->ave->echo(" Put numbers how much keywords you want remove"); + $this->core->echo(" Put numbers how much keywords you want remove"); - $quantity = $this->ave->get_input_integer(" Quantity: "); + $quantity = $this->core->get_input_integer(" Quantity: "); if(!$quantity) return false; for($i = 0; $i < $quantity; $i++){ - $keywords[$i] = $this->ave->get_input_no_trim(" Keyword ".($i+1).": "); + $keywords[$i] = $this->core->get_input_no_trim(" Keyword ".($i+1).": "); } } else if($this->params['mode'] == '1'){ set_keyword_file: - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } while(($line = fgets($fp)) !== false){ @@ -316,75 +316,75 @@ public function tool_remove_keywords_from_directory_name() : bool { fclose($fp); } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $name = trim(str_replace($keywords, '', pathinfo($file, PATHINFO_BASENAME))); - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); if(empty($new_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_insert_string_into_directory_name() : bool { - $this->ave->set_subtool("Insert string into directory name"); + $this->core->set_subtool("Insert string into directory name"); set_offset: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Specify the string offset where you want insert into directory name', ' Offset = 0 - means the beginning, i.e. the string will be inserted before the directory name (prefix)', ' Offset > 0 - means that the string will be inserted after skipping N characters', ' Offset < 0 - means that the string will be inserted after skipping N characters from the end', ]); - $line = $this->ave->get_input(" Offset: "); + $line = $this->core->get_input(" Offset: "); if($line == '#') return false; $offset = preg_replace("/[^0-9\-]/", '', $line); if($offset == '') goto set_offset; $offset = intval($offset); - $this->ave->print_help([ + $this->core->print_help([ ' Specify the string you want to inject the file name, may contain spaces', ]); - $insert_string = $this->ave->get_input_no_trim(" String: "); + $insert_string = $this->core->get_input_no_trim(" String: "); - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -392,7 +392,7 @@ public function tool_insert_string_into_directory_name() : bool { if(!file_exists($file)) continue 1; $name = pathinfo($file, PATHINFO_BASENAME); if(abs($offset) > strlen($name)){ - $this->ave->write_error("ILLEGAL OFFSET FOR FILE NAME \"$file\""); + $this->core->write_error("ILLEGAL OFFSET FOR FILE NAME \"$file\""); $errors++; } else { if($offset > 0){ @@ -402,52 +402,52 @@ public function tool_insert_string_into_directory_name() : bool { } else { $name = $insert_string.$name; } - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_replace_keywords_in_directory_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Replace keywords in directory name"); + $this->core->clear(); + $this->core->set_subtool("Replace keywords in directory name"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); set_keyword_file: $replacements = []; - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } $i = 0; @@ -456,9 +456,9 @@ public function tool_replace_keywords_in_directory_name() : bool { $i++; $line = str_replace(["\n", "\r", "\xEF\xBB\xBF"], "", $line); if(empty(trim($line))) continue; - $replace = $this->ave->get_input_folders($line, false); + $replace = $this->core->get_input_folders($line, false); if(!isset($replace[0]) || !isset($replace[1]) || isset($replace[2])){ - $this->ave->echo(" Failed parse replacement in line $i content: '$line'"); + $this->core->echo(" Failed parse replacement in line $i content: '$line'"); $errors++; } else { $replacements[$replace[0]] = $replace[1]; @@ -467,42 +467,42 @@ public function tool_replace_keywords_in_directory_name() : bool { fclose($fp); if($errors > 0){ - if(!$this->ave->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; + if(!$this->core->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); + $files = $this->core->get_folders($folder); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $name = trim(str_replace(array_keys($replacements), $replacements, pathinfo($file, PATHINFO_BASENAME))); - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name"); if(empty($new_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/tools/FileEditor.php b/includes/ngc/tools/FileEditor.php similarity index 60% rename from includes/tools/FileEditor.php rename to includes/ngc/tools/FileEditor.php index 5caf598..8d63748 100644 --- a/includes/tools/FileEditor.php +++ b/includes/ngc/tools/FileEditor.php @@ -2,26 +2,26 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; +use Toolkit; use Exception; -use App\Services\StringConverter; +use NGC\Services\StringConverter; class FileEditor { private string $name = "File Editor"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Replace keywords in files', ' 1 - Remove keywords in files', @@ -49,15 +49,15 @@ public function action(string $action) : bool { } public function tool_replace_keywords_in_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Replace keywords in files"); + $this->core->clear(); + $this->core->set_subtool("Replace keywords in files"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -67,20 +67,20 @@ public function tool_replace_keywords_in_files() : bool { set_keyword_file: $replacements = []; - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } $i = 0; @@ -89,9 +89,9 @@ public function tool_replace_keywords_in_files() : bool { $i++; $line = str_replace(["\n", "\r", "\xEF\xBB\xBF"], "", $line); if(empty(trim($line))) continue; - $replace = $this->ave->get_input_folders($line, false); + $replace = $this->core->get_input_folders($line, false); if(!isset($replace[0]) || !isset($replace[1]) || isset($replace[2])){ - $this->ave->echo(" Failed parse replacement in line $i content: '$line'"); + $this->core->echo(" Failed parse replacement in line $i content: '$line'"); $errors++; } else { $replacements[$replace[0]] = $replace[1]; @@ -100,15 +100,15 @@ public function tool_replace_keywords_in_files() : bool { fclose($fp); if($errors > 0){ - if(!$this->ave->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; + if(!$this->core->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -121,35 +121,35 @@ public function tool_replace_keywords_in_files() : bool { unset($content); if($changed){ file_put_contents($file, $new_content); - $this->ave->write_log("EDIT FILE \"$file\""); + $this->core->write_log("EDIT FILE \"$file\""); } } catch(Exception $e){ - $this->ave->write_error("FAILED EDIT FILE \"$file\" ERROR:".$e->getMessage()); + $this->core->write_error("FAILED EDIT FILE \"$file\" ERROR:".$e->getMessage()); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_remove_keywords_in_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove keywords in files"); + $this->core->clear(); + $this->core->set_subtool("Remove keywords in files"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -159,20 +159,20 @@ public function tool_remove_keywords_in_files() : bool { set_keyword_file: $keywords = []; - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } while(($line = fgets($fp)) !== false){ @@ -182,12 +182,12 @@ public function tool_remove_keywords_in_files() : bool { } fclose($fp); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -200,46 +200,46 @@ public function tool_remove_keywords_in_files() : bool { unset($content); if($changed){ file_put_contents($file, $new_content); - $this->ave->write_log("EDIT FILE \"$file\""); + $this->core->write_log("EDIT FILE \"$file\""); } } catch(Exception $e){ - $this->ave->write_error("FAILED EDIT FILE \"$file\" ERROR:".$e->getMessage()); + $this->core->write_error("FAILED EDIT FILE \"$file\" ERROR:".$e->getMessage()); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_remove_duplicate_lines_in_file() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove duplicate lines in file"); + $this->core->clear(); + $this->core->set_subtool("Remove duplicate lines in file"); set_input: - $line = $this->ave->get_input(" File: "); + $line = $this->core->get_input(" File: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $file = $folders[0]; if(!file_exists($file) || is_dir($file)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } - if(!$this->ave->is_text_file($file)){ - if(!$this->ave->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; + if(!$this->core->is_text_file($file)){ + if(!$this->core->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; } - $ignore_empty_lines = $this->ave->get_confirm(" Ignore empty lines comparison (Y/N): "); + $ignore_empty_lines = $this->core->get_confirm(" Ignore empty lines comparison (Y/N): "); $duplicates = 0; @@ -279,44 +279,44 @@ public function tool_remove_duplicate_lines_in_file() : bool { unset($content); if($changed){ file_put_contents($file, $new_content); - $this->ave->echo(" Removed $duplicates lines in \"$file\""); + $this->core->echo(" Removed $duplicates lines in \"$file\""); } } catch(Exception $e){ - $this->ave->echo(" Failed edit \"$file\" Error:".$e->getMessage()); + $this->core->echo(" Failed edit \"$file\" Error:".$e->getMessage()); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_split_file_by_lines_count() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Split file by lines count"); + $this->core->clear(); + $this->core->set_subtool("Split file by lines count"); - $lines_limit = $this->ave->get_input_integer(" Lines limit: "); + $lines_limit = $this->core->get_input_integer(" Lines limit: "); if(!$lines_limit) return false; set_input: - $line = $this->ave->get_input(" File: "); + $line = $this->core->get_input(" File: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $file = $folders[0]; if(!file_exists($file) || is_dir($file)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } - if(!$this->ave->is_text_file($file)){ - if(!$this->ave->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; + if(!$this->core->is_text_file($file)){ + if(!$this->core->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; } $fp = fopen($file, 'r'); if(!$fp){ - $this->ave->echo(" Failed open input file"); + $this->core->echo(" Failed open input file"); goto set_input; } @@ -332,7 +332,7 @@ public function tool_split_file_by_lines_count() : bool { $eol = "\r"; } else { fclose($fp); - $this->ave->echo(" The selected file has no newlines"); + $this->core->echo(" The selected file has no newlines"); goto set_input; } @@ -346,14 +346,14 @@ public function tool_split_file_by_lines_count() : bool { fclose($out); $out = false; } - $output_file = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)."_".sprintf("%06d", $part_id).".".pathinfo($file, PATHINFO_EXTENSION)); - if(file_exists($output_file)) $this->ave->delete($output_file); + $output_file = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)."_".sprintf("%06d", $part_id).".".pathinfo($file, PATHINFO_EXTENSION)); + if(file_exists($output_file)) $this->core->delete($output_file); $out = fopen($output_file, 'w'); if(!$out){ - $this->ave->write_error("FAILED OPEN FILE \"$output_file\""); + $this->core->write_error("FAILED OPEN FILE \"$output_file\""); break; } else { - $this->ave->write_log("CREATE FILE \"$output_file\""); + $this->core->write_log("CREATE FILE \"$output_file\""); } if($utf8_bom) fwrite($out, "\xEF\xBB\xBF"); $part_id++; @@ -367,47 +367,47 @@ public function tool_split_file_by_lines_count() : bool { } fclose($fp); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_split_file_by_size() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Split file by size"); + $this->core->clear(); + $this->core->set_subtool("Split file by size"); - $bytes = $this->ave->get_input_bytes_size(" Size: "); + $bytes = $this->core->get_input_bytes_size(" Size: "); if(!$bytes) return false; set_input: - $line = $this->ave->get_input(" File: "); + $line = $this->core->get_input(" File: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $file = $folders[0]; if(!file_exists($file) || is_dir($file)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } $fp = fopen($file, 'r'); if(!$fp){ - $this->ave->echo(" Failed open input file"); + $this->core->echo(" Failed open input file"); goto set_input; } $part_id = 1; while(!feof($fp)){ $buffer = fread($fp, $bytes); - $output_file = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)."_".sprintf("%06d", $part_id).".".pathinfo($file, PATHINFO_EXTENSION)); - if(file_exists($output_file)) $this->ave->delete($output_file); + $output_file = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)."_".sprintf("%06d", $part_id).".".pathinfo($file, PATHINFO_EXTENSION)); + if(file_exists($output_file)) $this->core->delete($output_file); $out = fopen($output_file, 'w'); if(!$out){ - $this->ave->write_error("FAILED OPEN FILE \"$output_file\""); + $this->core->write_error("FAILED OPEN FILE \"$output_file\""); break; } else { - $this->ave->write_log("CREATE FILE \"$output_file\""); + $this->core->write_log("CREATE FILE \"$output_file\""); } fwrite($out, $buffer, strlen(bin2hex($buffer)) / 2); fclose($out); @@ -415,29 +415,29 @@ public function tool_split_file_by_size() : bool { } fclose($fp); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_reverse_file_lines() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Reverse file lines"); + $this->core->clear(); + $this->core->set_subtool("Reverse file lines"); set_input: - $line = $this->ave->get_input(" File: "); + $line = $this->core->get_input(" File: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $file = $folders[0]; if(!file_exists($file) || is_dir($file)){ - $this->ave->echo(" Invalid input file"); + $this->core->echo(" Invalid input file"); goto set_input; } - if(!$this->ave->is_text_file($file)){ - if(!$this->ave->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; + if(!$this->core->is_text_file($file)){ + if(!$this->core->get_confirm(" The file does not appear to be a text file, continue (Y/N): ")) goto set_input; } try { @@ -459,25 +459,25 @@ public function tool_reverse_file_lines() : bool { unset($content); if($changed){ file_put_contents($file, $new_content); - $this->ave->echo(" Reversed file lines in \"$file\""); + $this->core->echo(" Reversed file lines in \"$file\""); } } catch(Exception $e){ - $this->ave->echo(" Failed edit \"$file\" Error:".$e->getMessage()); + $this->core->echo(" Failed edit \"$file\" Error:".$e->getMessage()); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_pretty_file_content() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Pretty file content"); + $this->core->clear(); + $this->core->set_subtool("Pretty file content"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Flags (type in one line, default BC):', ' B - Basic replacement', ' C - Basic remove', @@ -491,7 +491,7 @@ public function tool_pretty_file_content() : bool { ' - - To lower case', ]); - $line = strtoupper($this->ave->get_input(" Flags: ")); + $line = strtoupper($this->core->get_input(" Flags: ")); if($line == '#') return false; if(empty($line)) $line = 'BC'; if(str_replace(['B', 'C', 'L', 'S', 'W', '0', '1', '2', '+', '-'], '', $line) != '') goto set_mode; @@ -509,26 +509,26 @@ public function tool_pretty_file_content() : bool { ]; $converter = new StringConverter(); if($flags->language_replace){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/LanguageReplacement.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/LanguageReplacement.ini")); } if($flags->ChineseToPinYin){ - $converter->import_pin_yin($this->ave->get_file_path($this->ave->path."/includes/data/PinYin.ini")); + $converter->import_pin_yin($this->core->get_path($this->core->path."/includes/data/PinYin.ini")); } if($flags->HiragamaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Hiragama.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Hiragama.ini")); } if($flags->KatakanaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Katakana.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Katakana.ini")); } - $this->ave->clear(); + $this->core->clear(); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -536,8 +536,8 @@ public function tool_pretty_file_content() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#') return false; if(empty($line)){ $filters = null; @@ -546,10 +546,10 @@ public function tool_pretty_file_content() : bool { } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions, null, $filters); + $files = $this->core->get_files($folder, $extensions, null, $filters); $items = 0; $total = count($files); foreach($files as $file){ @@ -597,18 +597,18 @@ public function tool_pretty_file_content() : bool { } if($content != $original){ file_put_contents($file, $content); - $this->ave->write_log("EDIT FILE \"$file\""); + $this->core->write_log("EDIT FILE \"$file\""); } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/tools/FileFunctions.php b/includes/ngc/tools/FileFunctions.php similarity index 55% rename from includes/tools/FileFunctions.php rename to includes/ngc/tools/FileFunctions.php index 1b1dedc..6d7fc93 100644 --- a/includes/tools/FileFunctions.php +++ b/includes/ngc/tools/FileFunctions.php @@ -2,24 +2,24 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; +use Toolkit; class FileFunctions { private string $name = "File Functions"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Anti Duplicates', ' 1 - Validate CheckSum', @@ -47,11 +47,11 @@ public function action(string $action) : bool { } public function tool_anti_duplicates() : bool { - $this->ave->set_subtool("Anti duplicates"); + $this->core->set_subtool("Anti duplicates"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' CheckSum Name Action', ' a1 b1 Rename', @@ -59,7 +59,7 @@ public function tool_anti_duplicates() : bool { ' a3 b3 List', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -70,28 +70,28 @@ public function tool_anti_duplicates() : bool { if(!in_array($this->params['mode'], ['a', 'b'])) goto set_mode; if(!in_array($this->params['action'], ['1', '2', '3'])) goto set_mode; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); $keys = []; - $except_files = explode(";", $this->ave->config->get('AVE_IGNORE_VALIDATE_FILES')); - $except_extensions = explode(" ", $this->ave->config->get('AVE_IGNORE_VALIDATE_EXTENSIONS')); + $except_files = explode(";", $this->core->config->get('IGNORE_VALIDATE_FILES')); + $except_extensions = explode(" ", $this->core->config->get('IGNORE_VALIDATE_EXTENSIONS')); foreach($folders as $folder){ if(!file_exists($folder)) continue; $extension = strtolower(pathinfo($folder, PATHINFO_EXTENSION)); if(is_file($folder)){ - $this->ave->get_hash_from_idx($folder, $keys, true); - $this->ave->set_folder_done($folder); + $this->core->get_hash_from_idx($folder, $keys, true); + $this->core->set_folder_done($folder); continue; } - $files = $this->ave->get_files($folder, null, $except_extensions); + $files = $this->core->get_files($folder, null, $except_extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -99,8 +99,8 @@ public function tool_anti_duplicates() : bool { if(!file_exists($file)) continue 1; if(in_array(strtolower(pathinfo($file, PATHINFO_BASENAME)), $except_files)) continue; $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); - if($extension == 'idx' && $this->ave->config->get('AVE_LOAD_IDX_CHECKSUM')){ - $this->ave->get_hash_from_idx($file, $keys, false); + if($extension == 'idx' && $this->core->config->get('LOAD_IDX_CHECKSUM')){ + $this->core->get_hash_from_idx($file, $keys, false); continue 1; } if($this->params['mode'] == 'a'){ @@ -110,37 +110,37 @@ public function tool_anti_duplicates() : bool { } if(isset($keys[$key])){ $duplicate = $keys[$key]; - $this->ave->write_error("DUPLICATE \"$file\" OF \"$duplicate\""); + $this->core->write_error("DUPLICATE \"$file\" OF \"$duplicate\""); $errors++; if($this->params['action'] == '1'){ - if(!$this->ave->rename($file, "$file.tmp")) $errors++; + if(!$this->core->rename($file, "$file.tmp")) $errors++; } else if($this->params['action'] == '2'){ - if(!$this->ave->delete($file)) $errors++; + if(!$this->core->delete($file)) $errors++; } } else { $keys[$key] = $file; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } unset($keys); - $this->ave->open_logs($this->params['action'] != '3'); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs($this->params['action'] != '3'); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_validate_check_sum() : bool { - $this->ave->set_subtool("Validate checksum"); + $this->core->set_subtool("Validate checksum"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - From file', ' 1 - From name', @@ -150,7 +150,7 @@ public function tool_validate_check_sum() : bool { ' ?3 - whirlpool', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -163,21 +163,21 @@ public function tool_validate_check_sum() : bool { if(!in_array($this->params['mode'], ['0', '1'])) goto set_mode; if(!in_array($this->params['algo'], ['0', '1', '2', '3'])) goto set_mode; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); - $algo = $this->ave->get_hash_alghoritm(intval($this->params['algo'])); + $algo = $this->core->get_hash_alghoritm(intval($this->params['algo'])); $errors = 0; - $this->ave->set_errors($errors); - $except_files = explode(";", $this->ave->config->get('AVE_IGNORE_VALIDATE_FILES')); - $except_extensions = explode(" ", $this->ave->config->get('AVE_IGNORE_VALIDATE_EXTENSIONS')); + $this->core->set_errors($errors); + $except_files = explode(";", $this->core->config->get('IGNORE_VALIDATE_FILES')); + $except_extensions = explode(" ", $this->core->config->get('IGNORE_VALIDATE_EXTENSIONS')); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, null, $except_extensions); + $files = $this->core->get_files($folder, null, $except_extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -189,21 +189,21 @@ public function tool_validate_check_sum() : bool { if($this->params['mode'] == '0'){ $checksum_file = "$file.".$algo['name']; if(!file_exists($checksum_file)){ - $this->ave->write_error("FILE NOT FOUND \"$checksum_file\""); + $this->core->write_error("FILE NOT FOUND \"$checksum_file\""); $errors++; } else { $hash_current = strtolower(trim(file_get_contents($checksum_file))); if($hash_current != $hash){ - $this->ave->write_error("INVALID FILE CHECKSUM \"$file\" current: $hash expected: $hash_current"); + $this->core->write_error("INVALID FILE CHECKSUM \"$file\" current: $hash expected: $hash_current"); $errors++; } else { - $this->ave->write_log("FILE \"$file\" checksum: $hash"); + $this->core->write_log("FILE \"$file\" checksum: $hash"); } } } else { $len = strlen($file_name); if($len < $algo['length']){ - $this->ave->write_error("INVALID FILE NAME \"$file\""); + $this->core->write_error("INVALID FILE NAME \"$file\""); $errors++; } else { if($len > $algo['length']){ @@ -215,42 +215,42 @@ public function tool_validate_check_sum() : bool { $file_name = substr($file_name, intval(strlen($file_name) - $algo['length']), $algo['length']); } if($file_name != $hash){ - $this->ave->write_error("INVALID FILE CHECKSUM \"$file\" current: $hash expected: $file_name"); + $this->core->write_error("INVALID FILE CHECKSUM \"$file\" current: $hash expected: $file_name"); $errors++; } else { - $this->ave->write_log("FILE \"$file\" checksum: $hash"); + $this->core->write_log("FILE \"$file\" checksum: $hash"); } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_random_file_generator() : bool { - $this->ave->set_subtool("Random file generator"); + $this->core->set_subtool("Random file generator"); - $write_buffer = $this->ave->get_write_buffer(); + $write_buffer = $this->core->get_write_buffer(); if(!$write_buffer) return false; set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Single file', ' 1 - Multiple files (size for one)', ' 2 - Multiple files (size for all)', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -259,52 +259,52 @@ public function tool_random_file_generator() : bool { if(!in_array($this->params['mode'], ['0', '1', '2'])) goto set_mode; - $bytes = $this->ave->get_input_bytes_size(" Size: "); + $bytes = $this->core->get_input_bytes_size(" Size: "); if(!$bytes) return false; if(in_array($this->params['mode'], ['1', '2'])){ - $quantity = $this->ave->get_input_integer(" Quantity: "); + $quantity = $this->core->get_input_integer(" Quantity: "); if(!$quantity) return false; } else { $quantity = 1; } set_output: - $this->ave->clear(); - $line = $this->ave->get_input(" Output: "); + $this->core->clear(); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } switch($this->params['mode']){ case '0': { - $this->ave->print_help([" Creating single file of size ".$this->ave->format_bytes($bytes, 0)]); + $this->core->print_help([" Creating single file of size ".$this->core->format_bytes($bytes, 0)]); $per_file_size = $bytes; break; } case '1': { - $this->ave->print_help([" Creating $quantity files of size ".$this->ave->format_bytes($bytes, 0)." in total ".$this->ave->format_bytes($bytes * $quantity, 0)]); + $this->core->print_help([" Creating $quantity files of size ".$this->core->format_bytes($bytes, 0)." in total ".$this->core->format_bytes($bytes * $quantity, 0)]); $per_file_size = $bytes; break; } case '2': { - $this->ave->print_help([" Creating $quantity files of size ".$this->ave->format_bytes(intval(floor($bytes / $quantity)), 0)." in total ".$this->ave->format_bytes($bytes, 0)]); + $this->core->print_help([" Creating $quantity files of size ".$this->core->format_bytes(intval(floor($bytes / $quantity)), 0)." in total ".$this->core->format_bytes($bytes, 0)]); $per_file_size = intval(floor($bytes / $quantity)); break; } } $small_mode = $per_file_size < $write_buffer; - $size_text = $this->ave->format_bytes($per_file_size); + $size_text = $this->core->format_bytes($per_file_size); for($i = 1; $i <= $quantity; $i++){ - $file_path = $this->ave->get_file_path($output."/AVE-RANDOM-".hash('md5', uniqid().$i).".tmp"); - if(file_exists($file_path)) $this->ave->delete($file_path); + $file_path = $this->core->get_path($output."/NGC-TOOLKIT-".hash('md5', uniqid().$i).".tmp"); + if(file_exists($file_path)) $this->core->delete($file_path); $fp = fopen($file_path, "w"); if($small_mode){ echo " Files: $i / $quantity \r"; @@ -312,7 +312,7 @@ public function tool_random_file_generator() : bool { echo " Files: $i / $quantity Progress: 0.00 % \r"; } if($fp){ - $this->ave->write_log("FILE CREATE WITH DISK ALLOCATION \"$file_path\" Size: $size_text"); + $this->core->write_log("FILE CREATE WITH DISK ALLOCATION \"$file_path\" Size: $size_text"); fseek($fp, $per_file_size - 1); fwrite($fp, "\0"); fclose($fp); @@ -351,33 +351,33 @@ public function tool_random_file_generator() : bool { echo " Files: $i / $quantity Progress: 100.00 % \r"; } fclose($fp); - $this->ave->write_log("FILE CREATION FINISH \"$file_path\""); + $this->core->write_log("FILE CREATION FINISH \"$file_path\""); } else { - $this->ave->write_error("FAILED CREATE FILE \"$file_path\""); + $this->core->write_error("FAILED CREATE FILE \"$file_path\""); } } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_overwrite_folders_content() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Overwrite folders content"); + $this->core->clear(); + $this->core->set_subtool("Overwrite folders content"); - $write_buffer = $this->ave->get_write_buffer(); + $write_buffer = $this->core->get_write_buffer(); if(!$write_buffer) return false; - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder); + $files = $this->core->get_files($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -387,10 +387,10 @@ public function tool_overwrite_folders_content() : bool { $current_size = 0; $fp = fopen($file, "r+w"); if(!$fp){ - $this->ave->write_error("FILE OVERWRITE FAILED \"$file\""); + $this->core->write_error("FILE OVERWRITE FAILED \"$file\""); $errors++; } else { - $this->ave->write_log("FILE OVERWRITE START \"$file\""); + $this->core->write_log("FILE OVERWRITE START \"$file\""); fseek($fp, 0); while($bytes_needle > 0){ if($bytes_needle > $write_buffer){ @@ -412,56 +412,56 @@ public function tool_overwrite_folders_content() : bool { } } fclose($fp); - $this->ave->write_log("FILE OVERWRITE END \"$file\""); + $this->core->write_log("FILE OVERWRITE END \"$file\""); } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_move_files_with_structure() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Move files with structure"); + $this->core->clear(); + $this->core->set_subtool("Move files with structure"); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); + $this->core->echo(" Output folder must be different than input folder"); goto set_output; } - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -469,8 +469,8 @@ public function tool_move_files_with_structure() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#') return false; if(empty($line)){ $filters = null; @@ -479,9 +479,9 @@ public function tool_move_files_with_structure() : bool { } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); - $files = $this->ave->get_files($input, $extensions, null, $filters); + $files = $this->core->get_files($input, $extensions, null, $filters); $items = 0; $total = count($files); foreach($files as $file){ @@ -489,58 +489,58 @@ public function tool_move_files_with_structure() : bool { if(!file_exists($file)) continue; $new_name = str_ireplace($input, $output, $file); if(file_exists($new_name)){ - $this->ave->write_error("FILE ALREADY EXISTS \"$new_name\""); + $this->core->write_error("FILE ALREADY EXISTS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_copy_files_with_structure() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Copy files with structure"); + $this->core->clear(); + $this->core->set_subtool("Copy files with structure"); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); + $this->core->echo(" Output folder must be different than input folder"); goto set_output; } - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -548,8 +548,8 @@ public function tool_copy_files_with_structure() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#') return false; if(empty($line)){ $filters = null; @@ -558,9 +558,9 @@ public function tool_copy_files_with_structure() : bool { } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); - $files = $this->ave->get_files($input, $extensions, null, $filters); + $files = $this->core->get_files($input, $extensions, null, $filters); $items = 0; $total = count($files); foreach($files as $file){ @@ -568,29 +568,29 @@ public function tool_copy_files_with_structure() : bool { if(!file_exists($file)) continue; $new_name = str_ireplace($input, $output, $file); if(file_exists($new_name)){ - $this->ave->write_error("FILE ALREADY EXISTS \"$new_name\""); + $this->core->write_error("FILE ALREADY EXISTS \"$new_name\""); $errors++; } else { - if(!$this->ave->copy($file, $new_name)){ + if(!$this->core->copy($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_clone_files_with_structure() : bool { - $this->ave->set_subtool("Clone files with structure"); + $this->core->set_subtool("Clone files with structure"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Checksum algorithm:', ' 0 - md5 (default)', ' 1 - sha256', @@ -598,7 +598,7 @@ public function tool_clone_files_with_structure() : bool { ' 3 - whirlpool', ]); - $line = $this->ave->get_input(" Algorithm: "); + $line = $this->core->get_input(" Algorithm: "); if($line == '#') return false; $this->params = [ @@ -607,91 +607,91 @@ public function tool_clone_files_with_structure() : bool { if(!in_array($this->params['algo'], ['0', '1', '2', '3'])) goto set_mode; - $this->ave->clear(); + $this->core->clear(); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); + $this->core->echo(" Output folder must be different than input folder"); goto set_output; } - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); - $algo = $this->ave->get_hash_alghoritm(intval($this->params['algo']))['name']; + $algo = $this->core->get_hash_alghoritm(intval($this->params['algo']))['name']; - $this->ave->echo(" Delete not existing files on output"); - $files = $this->ave->get_files($output); + $this->core->echo(" Delete not existing files on output"); + $files = $this->core->get_files($output); $items = 0; $total = count($files); foreach($files as $file){ $items++; $new_name = str_ireplace($output, $input, $file); if(!file_exists($new_name)){ - if(!$this->ave->delete($file)){ + if(!$this->core->delete($file)){ $errors++; } } } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->echo(" Delete not existing folders on output"); - $files = $this->ave->get_folders($output); + $this->core->echo(" Delete not existing folders on output"); + $files = $this->core->get_folders($output); $items = 0; $total = count($files); foreach($files as $file){ $items++; $new_name = str_ireplace($output, $input, $file); if(!file_exists($new_name)){ - if(!$this->ave->rmdir($file)){ + if(!$this->core->rmdir($file)){ $errors++; } } } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->echo(" Clone folder structure"); - $folders = $this->ave->get_folders($input); + $this->core->echo(" Clone folder structure"); + $folders = $this->core->get_folders($input); $items = 0; $total = count($folders); foreach($folders as $folder){ $items++; $directory = str_ireplace($input, $output, $folder); if(!file_exists($directory)){ - if(!$this->ave->mkdir($directory)){ + if(!$this->core->mkdir($directory)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->echo(" Clone new/changed files"); - $files = $this->ave->get_files($input); + $this->core->echo(" Clone new/changed files"); + $files = $this->core->get_files($input); $items = 0; $total = count($files); foreach($files as $file){ @@ -710,24 +710,24 @@ public function tool_clone_files_with_structure() : bool { $hash_output = hash_file($algo, $new_name); } if($hash_input != $hash_output){ - if(!$this->ave->delete($new_name)){ + if(!$this->core->delete($new_name)){ $errors++; - } else if(!$this->ave->copy($file, $new_name)){ + } else if(!$this->core->copy($file, $new_name)){ $errors++; } } } else { - if(!$this->ave->copy($file, $new_name)){ + if(!$this->core->copy($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/tools/FileNamesEditor.php b/includes/ngc/tools/FileNamesEditor.php similarity index 56% rename from includes/tools/FileNamesEditor.php rename to includes/ngc/tools/FileNamesEditor.php index ed6c89e..1a0574e 100644 --- a/includes/tools/FileNamesEditor.php +++ b/includes/ngc/tools/FileNamesEditor.php @@ -2,26 +2,25 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; -use App\Services\MediaFunctions; -use App\Services\StringConverter; +use Toolkit; +use NGC\Services\StringConverter; class FileNamesEditor { private string $name = "File Names Editor"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Generate names: CheckSum', ' 1 - Generate names: Number (Video/Images)', @@ -61,11 +60,11 @@ public function action(string $action) : bool { } public function tool_check_sum() : bool { - $this->ave->set_subtool("Checksum"); + $this->core->set_subtool("Checksum"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Normal ""', ' 1 - CurrentName "name "', @@ -82,7 +81,7 @@ public function tool_check_sum() : bool { ' ??l - List only', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -95,21 +94,21 @@ public function tool_check_sum() : bool { if(!in_array($this->params['mode'],['0','1','2','3','4','5','6','7'])) goto set_mode; if(!in_array($this->params['algo'],['0','1','2','3'])) goto set_mode; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); - $algo = $this->ave->get_hash_alghoritm(intval($this->params['algo']))['name']; + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); + $algo = $this->core->get_hash_alghoritm(intval($this->params['algo']))['name']; $errors = 0; - $this->ave->set_errors($errors); - $except_files = explode(";", $this->ave->config->get('AVE_IGNORE_VALIDATE_FILES')); - $except_extensions = explode(" ", $this->ave->config->get('AVE_IGNORE_VALIDATE_EXTENSIONS')); + $this->core->set_errors($errors); + $except_files = explode(";", $this->core->config->get('IGNORE_VALIDATE_FILES')); + $except_extensions = explode(" ", $this->core->config->get('IGNORE_VALIDATE_EXTENSIONS')); foreach($folders as $folder){ if(!file_exists($folder)) continue; $file_id = 1; $list = []; - $files = $this->ave->get_files($folder, null, $except_extensions); + $files = $this->core->get_files($folder, null, $except_extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -117,40 +116,40 @@ public function tool_check_sum() : bool { if(!file_exists($file)) continue 1; if(in_array(strtolower(pathinfo($file, PATHINFO_BASENAME)), $except_files)) continue; $hash = hash_file($algo, $file, false); - if($this->ave->config->get('AVE_HASH_TO_UPPER')) $hash = strtoupper($hash); + if($this->core->config->get('HASH_TO_UPPER')) $hash = strtoupper($hash); $new_name = $this->tool_check_sum_get_pattern($this->params['mode'], $file, $hash, $file_id++); if($this->params['list_only']){ array_push($list, $new_name); } else { if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; - if($this->ave->config->get('AVE_ACTION_AFTER_DUPLICATE') == 'DELETE'){ - if(!$this->ave->delete($file)) $errors++; + if($this->core->config->get('ACTION_AFTER_DUPLICATE') == 'DELETE'){ + if(!$this->core->delete($file)) $errors++; } else { - if(!$this->ave->rename($file, "$file.tmp")) $errors++; + if(!$this->core->rename($file, "$file.tmp")) $errors++; } } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); if($this->params['list_only']){ $count = count($list); - $this->ave->write_log("Write $count items from \"$folder\" to data file"); - $this->ave->write_data($list); + $this->core->write_log("Write $count items from \"$folder\" to data file"); + $this->core->write_data($list); } - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } @@ -159,26 +158,26 @@ public function tool_check_sum_get_pattern(string $mode, string $file, string $h $foldername = pathinfo($folder, PATHINFO_FILENAME); $name = pathinfo($file, PATHINFO_FILENAME); $extension = pathinfo($file, PATHINFO_EXTENSION); - if($this->ave->config->get('AVE_EXTENSION_TO_LOWER')) $extension = strtolower($extension); + if($this->core->config->get('EXTENSION_TO_LOWER')) $extension = strtolower($extension); switch($mode){ - case '0': return $this->ave->get_file_path("$folder/$hash.$extension"); - case '1': return $this->ave->get_file_path("$folder/$name $hash.$extension"); - case '2': return $this->ave->get_file_path("$folder/$foldername $hash.$extension"); - case '3': return $this->ave->get_file_path("$folder/$foldername ".sprintf("%04d",$file_id)." $hash.$extension"); - case '4': return $this->ave->get_file_path("$folder/".date("Y-m-d",filemtime($file))." $hash.$extension"); - case '5': return $this->ave->get_file_path("$folder/".date("Y-m-d",filemtime($file))." ".sprintf("%04d",$file_id)." $hash.$extension"); - case '6': return $this->ave->get_file_path("$folder/".sprintf("%04d",$file_id)." $hash.$extension"); - case '7': return $this->ave->get_file_path("$folder/".sprintf("%06d",$file_id)." $hash.$extension"); + case '0': return $this->core->get_path("$folder/$hash.$extension"); + case '1': return $this->core->get_path("$folder/$name $hash.$extension"); + case '2': return $this->core->get_path("$folder/$foldername $hash.$extension"); + case '3': return $this->core->get_path("$folder/$foldername ".sprintf("%04d",$file_id)." $hash.$extension"); + case '4': return $this->core->get_path("$folder/".date("Y-m-d",filemtime($file))." $hash.$extension"); + case '5': return $this->core->get_path("$folder/".date("Y-m-d",filemtime($file))." ".sprintf("%04d",$file_id)." $hash.$extension"); + case '6': return $this->core->get_path("$folder/".sprintf("%04d",$file_id)." $hash.$extension"); + case '7': return $this->core->get_path("$folder/".sprintf("%06d",$file_id)." $hash.$extension"); } return ''; } public function tool_number() : bool { - $this->ave->set_subtool("Number"); + $this->core->set_subtool("Number"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Group Single Format Range', ' g0 s0 "PREFIX_DDDDDD" 000001 - 999999', ' g1 s1 "PART\PREFIX_DDDDDD" 000001 - 999999', @@ -189,7 +188,7 @@ public function tool_number() : bool { ' g6 s6 "DDDDDD" 000001 - 999999', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -214,15 +213,15 @@ public function tool_number_get_pattern(string $mode, string $file, string $pref $folder = pathinfo($file, PATHINFO_DIRNAME); $foldername = pathinfo($folder, PATHINFO_FILENAME); $extension = pathinfo($file, PATHINFO_EXTENSION); - if($this->ave->config->get('AVE_EXTENSION_TO_LOWER')) $extension = strtolower($extension); + if($this->core->config->get('EXTENSION_TO_LOWER')) $extension = strtolower($extension); switch($mode){ - case '0': return $this->ave->get_file_path("$folder/$prefix".sprintf("%06d",$file_id).".$extension"); - case '1': return $this->ave->get_file_path("$input/".sprintf("%03d",$part_id)."/$prefix".sprintf("%06d",$file_id).".$extension"); - case '2': return $this->ave->get_file_path("$input/$prefix".sprintf("%06d",$file_id).".$extension"); - case '3': return $this->ave->get_file_path("$folder/$prefix$foldername"."_".sprintf("%06d",$file_id).".$extension"); - case '4': return $this->ave->get_file_path("$folder/$prefix$foldername"."_".sprintf("%04d",$file_id).".$extension"); - case '5': return $this->ave->get_file_path("$folder/$prefix".sprintf("%06d",$file_id).".$extension"); - case '6': return $this->ave->get_file_path("$folder/".sprintf("%06d",$file_id).".$extension"); + case '0': return $this->core->get_path("$folder/$prefix".sprintf("%06d",$file_id).".$extension"); + case '1': return $this->core->get_path("$input/".sprintf("%03d",$part_id)."/$prefix".sprintf("%06d",$file_id).".$extension"); + case '2': return $this->core->get_path("$input/$prefix".sprintf("%06d",$file_id).".$extension"); + case '3': return $this->core->get_path("$folder/$prefix$foldername"."_".sprintf("%06d",$file_id).".$extension"); + case '4': return $this->core->get_path("$folder/$prefix$foldername"."_".sprintf("%04d",$file_id).".$extension"); + case '5': return $this->core->get_path("$folder/$prefix".sprintf("%06d",$file_id).".$extension"); + case '6': return $this->core->get_path("$folder/".sprintf("%06d",$file_id).".$extension"); } return null; } @@ -231,30 +230,30 @@ public function tool_number_action(string $folder, int &$errors) : bool { if(!file_exists($folder)) return false; $file_id = ($this->params['mode'] == 5) ? 999999 : 1; $prefix_id = $this->tool_number_get_prefix_id(); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $image_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); - $files = $this->ave->get_files($folder, array_merge($image_extensions, $video_extensions)); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $image_extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); + $files = $this->core->get_files($folder, array_merge($image_extensions, $video_extensions)); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue; $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); - $part_id = (int) floor($file_id / intval($this->ave->config->get('AVE_PART_SIZE'))) + 1; + $part_id = (int) floor($file_id / intval($this->core->config->get('PART_SIZE'))) + 1; if($this->params['mode'] == 1){ $prefix_id = sprintf("%03d",$part_id); } if(in_array($extension, $image_extensions)){ - $prefix = $this->ave->config->get('AVE_PREFIX_PHOTO')."_$prefix_id"."_"; + $prefix = $this->core->config->get('PREFIX_PHOTO')."_$prefix_id"."_"; } else { - $prefix = $this->ave->config->get('AVE_PREFIX_VIDEO')."_$prefix_id"."_"; + $prefix = $this->core->config->get('PREFIX_VIDEO')."_$prefix_id"."_"; } $new_name = $this->tool_number_get_pattern($this->params['mode'], $file, $prefix, $file_id, $folder, $part_id); $directory = pathinfo($new_name, PATHINFO_DIRNAME); if(!file_exists($directory)){ - if(!$this->ave->mkdir($directory)){ + if(!$this->core->mkdir($directory)){ $errors++; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); continue; } } @@ -264,71 +263,71 @@ public function tool_number_action(string $folder, int &$errors) : bool { $file_id++; } if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } unset($files); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); return false; } public function tool_number_action_single() : bool { - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ $this->tool_number_action($folder, $errors); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_number_action_group() : bool { - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; $subfolders = scandir($folder); foreach($subfolders as $subfoolder){ if($subfoolder == '.' || $subfoolder == '..') continue; - $dir = $this->ave->get_file_path("$folder/$subfoolder"); + $dir = $this->core->get_path("$folder/$subfoolder"); if(is_dir($dir)){ $this->tool_number_action($dir, $errors); } } - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_video_generator() : bool { - $this->ave->set_subtool("Video generator"); + $this->core->set_subtool("Video generator"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - CheckSum', ' 1 - Resolution', @@ -341,7 +340,7 @@ public function tool_video_generator() : bool { ' ?3 - whirlpool', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -357,21 +356,20 @@ public function tool_video_generator() : bool { $this->params['resolution'] = in_array($this->params['mode'],['1','3','4']); $this->params['thumbnail'] = in_array($this->params['mode'],['2','3']); - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); - $algo = $this->ave->get_hash_alghoritm(intval($this->params['algo']))['name']; + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); + $algo = $this->core->get_hash_alghoritm(intval($this->params['algo']))['name']; $errors = 0; - $this->ave->set_errors($errors); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $audio_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_AUDIO')); + $this->core->set_errors($errors); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $audio_extensions = explode(" ", $this->core->config->get('EXTENSIONS_AUDIO')); $extensions = array_merge($video_extensions, $audio_extensions); - $media = new MediaFunctions($this->ave); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -382,14 +380,14 @@ public function tool_video_generator() : bool { $directory = pathinfo($file, PATHINFO_DIRNAME); if($this->params['checksum'] && !file_exists("$file.$algo")){ $hash = hash_file($algo, $file, false); - if($this->ave->config->get('AVE_HASH_TO_UPPER')) $hash = strtoupper($hash); + if($this->core->config->get('HASH_TO_UPPER')) $hash = strtoupper($hash); } else { $hash = null; } if($this->params['resolution'] && in_array($extension, $video_extensions)){ - $resolution = $media->get_video_resolution($file); + $resolution = $this->core->media->get_video_resolution($file); if($resolution == '0x0'){ - $this->ave->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); + $this->core->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); $errors++; } else { if(strpos($name, " [$resolution]") === false){ @@ -398,21 +396,21 @@ public function tool_video_generator() : bool { } } if($this->params['thumbnail'] && in_array($extension, $video_extensions)){ - $thumbnail = $media->get_video_thumbnail($file, $directory, $this->ave->config->get('AVE_THUMBNAIL_WIDTH'), $this->ave->config->get('AVE_THUMBNAIL_ROWS'), $this->ave->config->get('AVE_THUMBNAIL_COLUMN')); + $thumbnail = $this->core->media->get_video_thumbnail($file, $directory, $this->core->config->get('THUMBNAIL_WIDTH'), $this->core->config->get('THUMBNAIL_ROWS'), $this->core->config->get('THUMBNAIL_COLUMN')); if($thumbnail){ - $this->ave->write_log("GENERATE THUMBNAIL \"$file.webp\""); + $this->core->write_log("GENERATE THUMBNAIL \"$file.webp\""); } else { - $this->ave->write_error("FAILED GENERATE THUMBNAIL \"$file.webp\""); + $this->core->write_error("FAILED GENERATE THUMBNAIL \"$file.webp\""); $errors++; } } - $new_name = $this->ave->get_file_path("$directory/$name.$extension"); + $new_name = $this->core->get_path("$directory/$name.$extension"); $renamed = false; if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if($this->ave->rename($file, $new_name)){ + if($this->core->rename($file, $new_name)){ $renamed = true; } else { $errors++; @@ -420,55 +418,55 @@ public function tool_video_generator() : bool { } if(isset($hash)){ if(file_put_contents("$new_name.$algo",$hash)){ - $this->ave->write_log("CREATE \"$new_name.$algo\""); + $this->core->write_log("CREATE \"$new_name.$algo\""); } else { - $this->ave->write_error("FAILED CREATE \"$new_name.$algo\""); + $this->core->write_error("FAILED CREATE \"$new_name.$algo\""); $errors++; } } else if($renamed){ - $follow_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO_FOLLOW')); + $follow_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO_FOLLOW')); foreach($follow_extensions as $a){ if(file_exists("$file.$a")){ - if(!$this->ave->rename("$file.$a","$new_name.$a")) $errors++; + if(!$this->core->rename("$file.$a","$new_name.$a")) $errors++; } } } - $name_old = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.srt"); - $name_new = $this->ave->get_file_path("$directory/$name.srt"); + $name_old = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.srt"); + $name_new = $this->core->get_path("$directory/$name.srt"); if($renamed && file_exists($name_old)){ - if($this->ave->rename($name_old, $name_new)){ + if($this->core->rename($name_old, $name_new)){ $renamed = true; } else { $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_generate_series_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Generate series name"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Generate series name"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); + $this->core->set_errors($errors); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $video_extensions); + $files = $this->core->get_files($folder, $video_extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -490,52 +488,52 @@ public function tool_generate_series_name() : bool { $escaped_name = "S01".preg_replace("/[^E0-9]/i", "", $mathes[2], 1); } else { $escaped_name = ''; - $this->ave->write_error("FAILED GET SERIES ID \"$file\""); + $this->core->write_error("FAILED GET SERIES ID \"$file\""); $errors++; } if(!empty($escaped_name)){ - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_escape_file_name_www() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Escape file name WWW"); - $this->ave->print_help([ + $this->core->clear(); + $this->core->set_subtool("Escape file name WWW"); + $this->core->print_help([ " Double spaces reduce", " Characters after escape: A-Z a-z 0-9 _ - .", " Be careful to prevent use on Japanese, Chinese, Korean, etc. file names", ]); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder); + $files = $this->core->get_files($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -547,40 +545,40 @@ public function tool_escape_file_name_www() : bool { } $escaped_name = trim(preg_replace('/[^A-Za-z0-9_\-.]/', '', str_replace(' ', '_', $escaped_name)), ' '); if(empty($escaped_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_pretty_file_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Pretty file name"); + $this->core->clear(); + $this->core->set_subtool("Pretty file name"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Flags (type in one line, default BC):', ' B - Basic replacement', ' C - Basic remove', @@ -592,7 +590,7 @@ public function tool_pretty_file_name() : bool { ' - - To lower case', ]); - $line = strtoupper($this->ave->get_input(" Flags: ")); + $line = strtoupper($this->core->get_input(" Flags: ")); if($line == '#') return false; if(empty($line)) $line = 'BC'; if(str_replace(['B', 'C', 'L', '0', '1', '2', '+', '-'], '', $line) != '') goto set_mode; @@ -608,26 +606,26 @@ public function tool_pretty_file_name() : bool { ]; $converter = new StringConverter(); if($flags->language_replace){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/LanguageReplacement.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/LanguageReplacement.ini")); } if($flags->ChineseToPinYin){ - $converter->import_pin_yin($this->ave->get_file_path($this->ave->path."/includes/data/PinYin.ini")); + $converter->import_pin_yin($this->core->get_path($this->core->path."/includes/data/PinYin.ini")); } if($flags->HiragamaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Hiragama.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Hiragama.ini")); } if($flags->KatakanaToRomaji){ - $converter->import_replacement($this->ave->get_file_path($this->ave->path."/includes/data/Katakana.ini")); + $converter->import_replacement($this->core->get_path($this->core->path."/includes/data/Katakana.ini")); } - $this->ave->clear(); + $this->core->clear(); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -635,8 +633,8 @@ public function tool_pretty_file_name() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#') return false; if(empty($line)){ $filters = null; @@ -645,10 +643,10 @@ public function tool_pretty_file_name() : bool { } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions, null, $filters); + $files = $this->core->get_files($folder, $extensions, null, $filters); $items = 0; $total = count($files); foreach($files as $file){ @@ -671,47 +669,47 @@ public function tool_pretty_file_name() : bool { } $escaped_name = $converter->remove_double_spaces(str_replace(',', ', ', $escaped_name)); if(empty($escaped_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename_case($file, $new_name)){ + if(!$this->core->rename_case($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_remove_youtube_quality_tag() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove YouTube quality tag"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Remove YouTube quality tag"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $audio_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_AUDIO')); + $this->core->set_errors($errors); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $audio_extensions = explode(" ", $this->core->config->get('EXTENSIONS_AUDIO')); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, array_merge($video_extensions, $audio_extensions)); + $files = $this->core->get_files($folder, array_merge($video_extensions, $audio_extensions)); $items = 0; $total = count($files); foreach($files as $file){ @@ -736,48 +734,48 @@ public function tool_remove_youtube_quality_tag() : bool { } if(empty($quality_tag)){ - $this->ave->write_error("FAILED GET YOUTUBE QUALITY TAG \"$file\""); + $this->core->write_error("FAILED GET YOUTUBE QUALITY TAG \"$file\""); $errors++; } else if(empty($escaped_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$escaped_name.".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_series_episode_editor() : bool { - $this->ave->set_subtool("Series episode editor"); + $this->core->set_subtool("Series episode editor"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Change season number', ' 1 - Change episode numbers', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -793,49 +791,49 @@ public function tool_series_episode_editor() : bool { } public function tool_series_episode_editor_action_season() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Series episode editor > Change season"); + $this->core->clear(); + $this->core->set_subtool("Series episode editor > Change season"); set_input: - $this->ave->print_help([ + $this->core->print_help([ " Attention file name must begin with the season and episode number in the format:", " \"S00E00{whatever}.{extension}\"", " \"S00E000{whatever}.{extension}\"", ]); - $line = $this->ave->get_input(" Folder: "); + $line = $this->core->get_input(" Folder: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } - $this->ave->echo(" Example: 1 or 01 (up to 99)"); + $this->core->echo(" Example: 1 or 01 (up to 99)"); set_season_current: - $line = $this->ave->get_input(" Current season: "); + $line = $this->core->get_input(" Current season: "); if($line == '#') return false; $current_season = substr(preg_replace('/\D/', '', $line), 0, 2); if($current_season == '') goto set_season_current; if(strlen($current_season) == 1) $current_season = "0$current_season"; set_season_new: - $line = $this->ave->get_input(" New season: "); + $line = $this->core->get_input(" New season: "); if($line == '#') return false; $new_season = substr(preg_replace('/\D/', '', $line), 0, 2); if($new_season == '') goto set_season_new; if(strlen($new_season) == 1) $new_season = "0$new_season"; - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $follow_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO_FOLLOW')); - $files = $this->ave->get_files($input, array_merge($video_extensions, $follow_extensions)); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $follow_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO_FOLLOW')); + $files = $this->core->get_files($input, array_merge($video_extensions, $follow_extensions)); $items = 0; $total = count($files); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($files as $file){ $items++; if(!file_exists($file)) continue; @@ -846,56 +844,56 @@ public function tool_series_episode_editor_action_season() : bool { $directory = pathinfo($file, PATHINFO_DIRNAME); $extension = pathinfo($file, PATHINFO_EXTENSION); $file_name = "S$new_season".substr($file_name, 3); - $new_name = $this->ave->get_file_path("$directory/$file_name.$extension"); + $new_name = $this->core->get_path("$directory/$file_name.$extension"); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } } else { - $this->ave->write_error("FAILED GET SERIES ID \"$file\""); + $this->core->write_error("FAILED GET SERIES ID \"$file\""); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_series_episode_editor_action_episode() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Series episode editor > Change episode"); + $this->core->clear(); + $this->core->set_subtool("Series episode editor > Change episode"); set_input: - $this->ave->print_help([ + $this->core->print_help([ " Attention file name must begin with the season and episode number in the format:", " \"S00E00{whatever}.{extension}\"", " \"S00E000{whatever}.{extension}\"", ]); - $line = $this->ave->get_input(" Folder: "); + $line = $this->core->get_input(" Folder: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } - $this->ave->echo(" Choose episodes to edit (example 01 or 001)"); + $this->core->echo(" Choose episodes to edit (example 01 or 001)"); set_start: - $line = $this->ave->get_input(" Start: "); + $line = $this->core->get_input(" Start: "); if($line == '#') return false; $episode_start = substr(preg_replace('/\D/', '', $line), 0, 3); if($episode_start == '') goto set_start; @@ -903,24 +901,23 @@ public function tool_series_episode_editor_action_episode() : bool { $episode_start = intval($episode_start); set_end: - $line = $this->ave->get_input(" End: "); + $line = $this->core->get_input(" End: "); if($line == '#') return false; $episode_end = substr(preg_replace('/\D/', '', $line), 0, 3); if($episode_end == '') goto set_end; if($episode_end[0] == '0') $episode_end = substr($episode_end,1); $episode_end = intval($episode_end); - $this->ave->echo(" Choose step as integer (example 5 or -5)"); - $line = $this->ave->get_input(" Step: "); + $this->core->echo(" Choose step as integer (example 5 or -5)"); + $line = $this->core->get_input(" Step: "); if($line == '#') return false; $episode_step = intval(substr(preg_replace("/[^0-9\-]/", '', $line), 0, 3)); $errors = 0; $list = []; - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $follow_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO_FOLLOW')); - $files = $this->ave->get_files($input, array_merge($video_extensions, $follow_extensions)); - $media = new MediaFunctions($this->ave); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $follow_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO_FOLLOW')); + $files = $this->core->get_files($input, array_merge($video_extensions, $follow_extensions)); foreach($files as $file){ if(!file_exists($file)) continue 1; $file_name = pathinfo($file, PATHINFO_FILENAME); @@ -942,14 +939,14 @@ public function tool_series_episode_editor_action_episode() : bool { $name = substr($file_name, 5); } if(is_null($episode)){ - $this->ave->write_error("FAILED GET EPISODE ID \"$file\""); + $this->core->write_error("FAILED GET EPISODE ID \"$file\""); $errors++; } else { $season = substr($file_name, 0, 3); if($episode <= $episode_end && $episode >= $episode_start){ $directory = pathinfo($file, PATHINFO_DIRNAME); $extension = pathinfo($file, PATHINFO_EXTENSION); - $new_name = $this->ave->get_file_path("$directory/$season"."E".$media->format_episode($episode + $episode_step, $digits, $max)."$name.$extension"); + $new_name = $this->core->get_path("$directory/$season"."E".$this->core->media->format_episode($episode + $episode_step, $digits, $max)."$name.$extension"); array_push($list,[ 'input' => $file, 'output' => $new_name, @@ -968,36 +965,36 @@ public function tool_series_episode_editor_action_episode() : bool { if(file_exists($item['output']) && $round == 0) continue; $items++; if(file_exists($item['output'])){ - $this->ave->write_error("UNABLE CHANGE NAME \"".$item['input']."\" TO \"".$item['output']."\" FILE ALREADY EXIST"); + $this->core->write_error("UNABLE CHANGE NAME \"".$item['input']."\" TO \"".$item['output']."\" FILE ALREADY EXIST"); $errors++; } else { - if(!$this->ave->rename($item['input'], $item['output'])) $errors++; + if(!$this->core->rename($item['input'], $item['output'])) $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); unset($list[$key]); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); if($round == 0){ $round++; goto change_names; } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_add_file_name_prefix_suffix() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Add file name prefix/suffix"); + $this->core->clear(); + $this->core->set_subtool("Add file name prefix/suffix"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -1005,59 +1002,59 @@ public function tool_add_file_name_prefix_suffix() : bool { $extensions = explode(" ", $line); } - $prefix = $this->ave->get_input_no_trim(" Prefix (may be empty): "); + $prefix = $this->core->get_input_no_trim(" Prefix (may be empty): "); if($prefix == '#') return false; $prefix = str_replace(['<', '>', ':', '"', '/', '\\', '|', '?', '*'], '', $prefix); - $suffix = $this->ave->get_input_no_trim(" Suffix (may be empty): "); + $suffix = $this->core->get_input_no_trim(" Suffix (may be empty): "); if($suffix == '#') return false; $suffix = str_replace(['<', '>', ':', '"', '/', '\\', '|', '?', '*'], '', $suffix); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$prefix".pathinfo($file, PATHINFO_FILENAME).$suffix.".".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$prefix".pathinfo($file, PATHINFO_FILENAME).$suffix.".".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_remove_keywords_from_file_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove keywords from file name"); + $this->core->clear(); + $this->core->set_subtool("Remove keywords from file name"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Type keywords', ' 1 - Load from file (new line every keyword)', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params = [ @@ -1066,13 +1063,13 @@ public function tool_remove_keywords_from_file_name() : bool { if(!in_array($this->params['mode'], ['0', '1'])) goto set_mode; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -1082,30 +1079,30 @@ public function tool_remove_keywords_from_file_name() : bool { $keywords = []; if($this->params['mode'] == '0'){ - $this->ave->echo(" Put numbers how much keywords you want remove"); + $this->core->echo(" Put numbers how much keywords you want remove"); - $quantity = $this->ave->get_input_integer(" Quantity: "); + $quantity = $this->core->get_input_integer(" Quantity: "); if(!$quantity) return false; for($i = 0; $i < $quantity; $i++){ - $keywords[$i] = $this->ave->get_input_no_trim(" Keyword ".($i+1).": "); + $keywords[$i] = $this->core->get_input_no_trim(" Keyword ".($i+1).": "); } } else if($this->params['mode'] == '1'){ set_keyword_file: - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } while(($line = fgets($fp)) !== false){ @@ -1116,71 +1113,71 @@ public function tool_remove_keywords_from_file_name() : bool { fclose($fp); } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $name = trim(str_replace($keywords, '', pathinfo($file, PATHINFO_FILENAME))); - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); if(empty($new_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_insert_string_into_file_name() : bool { - $this->ave->set_subtool("Insert string into file name"); + $this->core->set_subtool("Insert string into file name"); set_offset: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Specify the string offset where you want insert into file name', ' Offset = 0 - means the beginning, i.e. the string will be inserted before the file name (prefix)', ' Offset > 0 - means that the string will be inserted after skipping N characters', ' Offset < 0 - means that the string will be inserted after skipping N characters from the end', ]); - $line = $this->ave->get_input(" Offset: "); + $line = $this->core->get_input(" Offset: "); if($line == '#') return false; $offset = preg_replace("/[^0-9\-]/", '', $line); if($offset == '') goto set_offset; $offset = intval($offset); - $this->ave->print_help([ + $this->core->print_help([ ' Specify the string you want to inject the file name, may contain spaces', ]); - $insert_string = $this->ave->get_input_no_trim(" String: "); + $insert_string = $this->core->get_input_no_trim(" String: "); - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -1188,12 +1185,12 @@ public function tool_insert_string_into_file_name() : bool { $extensions = explode(" ", $line); } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -1201,7 +1198,7 @@ public function tool_insert_string_into_file_name() : bool { if(!file_exists($file)) continue 1; $name = pathinfo($file, PATHINFO_FILENAME); if(abs($offset) > strlen($name)){ - $this->ave->write_error("ILLEGAL OFFSET FOR FILE NAME \"$file\""); + $this->core->write_error("ILLEGAL OFFSET FOR FILE NAME \"$file\""); $errors++; } else { if($offset > 0){ @@ -1211,38 +1208,38 @@ public function tool_insert_string_into_file_name() : bool { } else { $name = $insert_string.$name; } - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_replace_keywords_in_file_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Replace keywords in file name"); + $this->core->clear(); + $this->core->set_subtool("Replace keywords in file name"); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#') return false; if(empty($line)){ $extensions = null; @@ -1252,20 +1249,20 @@ public function tool_replace_keywords_in_file_name() : bool { set_keyword_file: $replacements = []; - $line = $this->ave->get_input(" Keywords file: "); + $line = $this->core->get_input(" Keywords file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_keyword_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid keywords file"); + $this->core->echo(" Invalid keywords file"); goto set_keyword_file; } $fp = fopen($input, 'r'); if(!$fp){ - $this->ave->echo(" Failed open keywords file"); + $this->core->echo(" Failed open keywords file"); goto set_keyword_file; } $i = 0; @@ -1274,9 +1271,9 @@ public function tool_replace_keywords_in_file_name() : bool { $i++; $line = str_replace(["\n", "\r", "\xEF\xBB\xBF"], "", $line); if(empty(trim($line))) continue; - $replace = $this->ave->get_input_folders($line, false); + $replace = $this->core->get_input_folders($line, false); if(!isset($replace[0]) || !isset($replace[1]) || isset($replace[2])){ - $this->ave->echo(" Failed parse replacement in line $i content: '$line'"); + $this->core->echo(" Failed parse replacement in line $i content: '$line'"); $errors++; } else { $replacements[$replace[0]] = $replace[1]; @@ -1285,86 +1282,86 @@ public function tool_replace_keywords_in_file_name() : bool { fclose($fp); if($errors > 0){ - if(!$this->ave->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; + if(!$this->core->get_confirm(" Errors detected, continue with valid replacement (Y/N): ")) goto set_keyword_file; } - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $name = trim(str_replace(array_keys($replacements), $replacements, pathinfo($file, PATHINFO_FILENAME))); - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.".pathinfo($file, PATHINFO_EXTENSION)); if(empty($new_name)){ - $this->ave->write_error("ESCAPED NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED NAME IS EMPTY \"$file\""); $errors++; } else if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); - $this->ave->set_folder_done($folder); + $this->core->progress($items, $total); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_extension_change() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Extension change"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Extension change"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $extension_old = strtolower($this->ave->get_input(" Extension old: ")); + $extension_old = strtolower($this->core->get_input(" Extension old: ")); if($extension_old == '#') return false; - $extension_new = $this->ave->get_input(" Extension new: "); + $extension_new = $this->core->get_input(" Extension new: "); if($extension_new == '#') return false; - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, [$extension_old]); + $files = $this->core->get_files($folder, [$extension_old]); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)); + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME)); if(!empty($extension_new)) $new_name .= ".$extension_new"; - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/tools/FtpTools.php b/includes/ngc/tools/FtpTools.php similarity index 54% rename from includes/tools/FtpTools.php rename to includes/ngc/tools/FtpTools.php index 0d39ccd..5c10602 100644 --- a/includes/tools/FtpTools.php +++ b/includes/ngc/tools/FtpTools.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; -use AveCore\Logs; -use AveCore\IniFile; -use AveCore\FtpService; +use Toolkit; +use NGC\Core\Logs; +use NGC\Core\IniFile; +use NGC\Core\FtpService; use FtpClient\FtpClient; use FtpClient\FtpException; @@ -17,18 +17,18 @@ class FtpTools { private array $params = []; private string $action; private string $path; - private AVE $ave; + private Toolkit $core; private array $select_label = []; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); - $this->path = $this->ave->get_file_path($this->ave->app_data."/FTP"); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); + $this->path = $this->core->get_path("{$this->core->app_data}/FTP"); $this->select_label = []; } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Configure connection', ' 1 - Remove connection', @@ -76,16 +76,16 @@ public function get_select_label() : void { $i++; } if(!empty($this->select_label)){ - $this->ave->echo(" Labels: "); + $this->core->echo(" Labels: "); foreach($this->select_label as $i => $label){ - $this->ave->echo(" $i - $label"); + $this->core->echo(" $i - $label"); } - $this->ave->echo(); + $this->core->echo(); } } public function get_config_path(string $label) : string { - return $this->ave->get_file_path("$this->path/$label.ini"); + return $this->core->get_path("$this->path/$label.ini"); } public function get_config(string $label) : IniFile { @@ -94,66 +94,66 @@ public function get_config(string $label) : IniFile { } public function tool_configure_connection() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Configure connection"); + $this->core->clear(); + $this->core->set_subtool("Configure connection"); - $this->ave->print_help([ + $this->core->print_help([ ' Allowed characters: A-Z a-z 0-9 _ -', ' Label length 3 - 32', ]); set_label: - $label = $this->ave->get_input(" Label: "); + $label = $this->core->get_input(" Label: "); if($label == '#') return false; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" already in use"); - if(!$this->ave->get_confirm(" Overwrite (Y/N): ")) goto set_label; + $this->core->echo(" Label \"$label\" already in use"); + if(!$this->core->get_confirm(" Overwrite (Y/N): ")) goto set_label; } - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ " Setup label: \"$label\"", ]); $ftp = new FtpClient(); set_ftp_connection: - $auth['host'] = $this->ave->get_input(" FTP Host: "); + $auth['host'] = $this->core->get_input(" FTP Host: "); if($auth['host'] == '#') return false; - $auth['port'] = $this->ave->get_input_integer(" FTP Port (Default 21): ", 0, 65353); + $auth['port'] = $this->core->get_input_integer(" FTP Port (Default 21): ", 0, 65353); if(!$auth['port']) return false; - $auth['ssl'] = $this->ave->get_confirm(" FTP SSL (Y/N): "); + $auth['ssl'] = $this->core->get_confirm(" FTP SSL (Y/N): "); try { try_login_same: - $this->ave->echo(" Connecting to: ".$auth['host'].":".$auth['port']); + $this->core->echo(" Connecting to: ".$auth['host'].":".$auth['port']); $ftp->connect($auth['host'], $auth['ssl'], $auth['port']); } catch(FtpException $e){ - $this->ave->echo(" Failed to connect:"); - $this->ave->echo(" ".$e->getMessage()); - if($this->ave->get_confirm(" Retry (Y/N): ")) goto try_login_same; + $this->core->echo(" Failed to connect:"); + $this->core->echo(" ".$e->getMessage()); + if($this->core->get_confirm(" Retry (Y/N): ")) goto try_login_same; goto set_ftp_connection; } set_ftp_user: - $auth['user'] = $this->ave->get_input(" FTP User: "); + $auth['user'] = $this->core->get_input(" FTP User: "); if($auth['user'] == '#') return false; - $auth['password'] = $this->ave->get_input_no_trim(" FTP Pass: "); + $auth['password'] = $this->core->get_input_no_trim(" FTP Pass: "); if($auth['password'] == '#') return false; try { try_login_same_user: $ftp->login($auth['user'], $auth['password']); } catch(FtpException $e){ - $this->ave->echo(" Failed to login:"); - $this->ave->echo(" ".$e->getMessage()); - if($this->ave->get_confirm(" Retry (Y/N): ")) goto try_login_same_user; + $this->core->echo(" Failed to login:"); + $this->core->echo(" ".$e->getMessage()); + if($this->core->get_confirm(" Retry (Y/N): ")) goto try_login_same_user; goto set_ftp_user; } $ftp->close(); @@ -167,71 +167,71 @@ public function tool_configure_connection() : bool { 'FTP_PORT' => intval($auth['port']), ], true); - $this->ave->clear(); - $this->ave->pause(" Setup connection for \"$label\" done, press any key to back to menu"); + $this->core->clear(); + $this->core->pause(" Setup connection for \"$label\" done, press any key to back to menu"); return false; } public function tool_remove_connection() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove connection"); + $this->core->clear(); + $this->core->set_subtool("Remove connection"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } $path = $this->get_config_path($label); if(!file_exists($path)){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } - $this->ave->delete($path); + $this->core->delete($path); return false; } public function tool_open_config_folder() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Open config folder"); - $this->ave->open_file($this->path, ''); + $this->core->clear(); + $this->core->set_subtool("Open config folder"); + $this->core->open_file($this->path, ''); return false; } public function tool_show_connections() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Show connections"); + $this->core->clear(); + $this->core->set_subtool("Show connections"); - $this->ave->echo(" Connections:"); + $this->core->echo(" Connections:"); $cnt = 0; - $files = $this->ave->get_files($this->path, ['ini']); + $files = $this->core->get_files($this->path, ['ini']); foreach($files as $file){ $ini = new IniFile($file); if($ini->is_valid() && $ini->is_set('FTP_HOST')){ $label = pathinfo($file, PATHINFO_FILENAME); - $this->ave->echo(" $label".str_repeat(" ",32-strlen($label))." ".$ini->get('FTP_HOST').":".$ini->get('FTP_PORT')."@".$ini->get('FTP_USER')); + $this->core->echo(" $label".str_repeat(" ",32-strlen($label))." ".$ini->get('FTP_HOST').":".$ini->get('FTP_PORT')."@".$ini->get('FTP_USER')); $cnt++; } } if($cnt == 0){ - $this->ave->echo(" No connections found"); + $this->core->echo(" No connections found"); } - $this->ave->pause("\r\n Press any key to back to menu"); + $this->core->pause("\r\n Press any key to back to menu"); return false; } public function tool_get_file_list() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Get file list"); + $this->core->clear(); + $this->core->set_subtool("Get file list"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -239,33 +239,33 @@ public function tool_get_file_list() : bool { $remote = new FtpService($ftp); set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#'){ $ftp->close(); return false; } - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } set_input: - $input = $this->ave->get_input(" FTP folder: "); + $input = $this->core->get_input(" FTP folder: "); if($input == '#'){ $ftp->close(); return false; } if(!$ftp->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#'){ $ftp->close(); return false; @@ -276,8 +276,8 @@ public function tool_get_file_list() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#'){ $ftp->close(); return false; @@ -288,19 +288,19 @@ public function tool_get_file_list() : bool { $filters = explode(" ", $line); } - $csv_file = $this->ave->get_file_path("$output/FtpList ".date("Y-m-d His").".csv"); - $this->ave->delete($csv_file); + $csv_file = $this->core->get_path("$output/FtpList ".date("Y-m-d His").".csv"); + $this->core->delete($csv_file); $csv = new Logs($csv_file, false, true); - if($this->ave->get_confirm(" Simplified list (Y/N): ")){ - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + if($this->core->get_confirm(" Simplified list (Y/N): ")){ + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $csv->write($remote->get_files($input, $extensions, null, $filters)); } else { - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $files = $remote->get_files_meta($input, $extensions, null, $filters); if(!empty($files)){ - $s = $this->ave->config->get('AVE_CSV_SEPARATOR'); + $s = $this->core->config->get('CSV_SEPARATOR'); $csv->write('"File path"'.$s.'"Dir name"'.$s.'"File name"'.$s.'"Date"'.$s.'"Size"'.$s.'"Permission"'); } foreach($files as $file){ @@ -309,24 +309,24 @@ public function tool_get_file_list() : bool { '"'.$file['directory'].'"', '"'.$file['name'].'"', '"'.$file['date'].'"', - '"'.$this->ave->format_bytes($file['size']).'"', + '"'.$this->core->format_bytes($file['size']).'"', '"'.$file['permission'].'"', ]; - $csv->write(implode($this->ave->config->get('AVE_CSV_SEPARATOR'), $meta)); + $csv->write(implode($this->core->config->get('CSV_SEPARATOR'), $meta)); } } - $this->ave->echo(" Saved results into ".$csv->get_path()); + $this->core->echo(" Saved results into ".$csv->get_path()); $csv->close(); $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_download_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Download files"); + $this->core->clear(); + $this->core->set_subtool("Download files"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -334,18 +334,18 @@ public function tool_download_files() : bool { $remote = new FtpService($ftp); set_input: - $input = $this->ave->get_input(" FTP folder: "); + $input = $this->core->get_input(" FTP folder: "); if($input == '#'){ $ftp->close(); return false; } if(!$ftp->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#'){ $ftp->close(); return false; @@ -356,8 +356,8 @@ public function tool_download_files() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#'){ $ftp->close(); return false; @@ -369,55 +369,55 @@ public function tool_download_files() : bool { } set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#'){ $ftp->close(); return false; } - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } $errors = 0; - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $files = $remote->get_files($input, $extensions, null, $filters); $total = count($files); $items = 0; - $this->ave->echo(" Download files to \"$output\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Download files to \"$output\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; - $local_file = $this->ave->get_file_path(str_replace($input, $output, $file)); + $local_file = $this->core->get_path(str_replace($input, $output, $file)); $directory = pathinfo($local_file, PATHINFO_DIRNAME); - if(file_exists($local_file)) $this->ave->delete($local_file); - if(!file_exists($directory)) $this->ave->mkdir($directory); + if(file_exists($local_file)) $this->core->delete($local_file); + if(!file_exists($directory)) $this->core->mkdir($directory); if($ftp->get($local_file, $file, FTP_BINARY, 0)){ - $this->ave->write_log("DOWNLOAD \"$file\" AS \"$local_file\""); + $this->core->write_log("DOWNLOAD \"$file\" AS \"$local_file\""); } else { - $this->ave->write_error("FAILED DOWNLOAD \"$file\" AS \"$local_file\""); + $this->core->write_error("FAILED DOWNLOAD \"$file\" AS \"$local_file\""); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_upload_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Upload files"); + $this->core->clear(); + $this->core->set_subtool("Upload files"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -425,22 +425,22 @@ public function tool_upload_files() : bool { $remote = new FtpService($ftp); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#'){ $ftp->close(); return false; } - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#'){ $ftp->close(); return false; @@ -451,8 +451,8 @@ public function tool_upload_files() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#'){ $ftp->close(); return false; @@ -464,23 +464,23 @@ public function tool_upload_files() : bool { } set_output: - $output = $this->ave->get_input(" FTP folder: "); + $output = $this->core->get_input(" FTP folder: "); if($output == '#'){ $ftp->close(); return false; } if(!$remote->folder_exists($output) && !$ftp->mkdir($output)){ - $this->ave->echo(" Cannot access/create folder \"$output\""); + $this->core->echo(" Cannot access/create folder \"$output\""); goto set_output; } $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); $directories = []; - $this->ave->clear(); - $this->ave->echo(" Prepare directories"); - $files = $this->ave->get_files($input, $extensions, null, $filters); + $this->core->clear(); + $this->core->echo(" Prepare directories"); + $files = $this->core->get_files($input, $extensions, null, $filters); foreach($files as $file){ array_push($directories, str_ireplace([$input, "\\"], [$output, "/"], pathinfo($file, PATHINFO_DIRNAME))); } @@ -488,47 +488,47 @@ public function tool_upload_files() : bool { $total = count($directories); $items = 0; - $this->ave->progress($items, $total); + $this->core->progress($items, $total); foreach($directories as $directory){ $items++; if(!$remote->folder_exists($directory)){ if($ftp->mkdir($directory, true)){ - $this->ave->write_log("FTP MKDIR \"$directory\""); + $this->core->write_log("FTP MKDIR \"$directory\""); } else { - $this->ave->write_error("FAILED FTP MKDIR \"$directory\""); + $this->core->write_error("FAILED FTP MKDIR \"$directory\""); $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $total = count($files); $items = 0; - $this->ave->echo(" Upload files from \"$input\""); - $this->ave->progress($items, $total); + $this->core->echo(" Upload files from \"$input\""); + $this->core->progress($items, $total); foreach($files as $file){ $items++; $remote_file = str_ireplace([$input, "\\"], [$output, "/"], $file); if($ftp->put($remote_file, $file, FTP_BINARY, 0)){ - $this->ave->write_log("UPLOAD \"$file\" AS \"$remote_file\""); + $this->core->write_log("UPLOAD \"$file\" AS \"$remote_file\""); } else { - $this->ave->write_error("FAILED UPLOAD \"$file\" AS \"$remote_file\""); + $this->core->write_error("FAILED UPLOAD \"$file\" AS \"$remote_file\""); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_delete_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Delete files"); + $this->core->clear(); + $this->core->set_subtool("Delete files"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -536,18 +536,18 @@ public function tool_delete_files() : bool { $remote = new FtpService($ftp); set_input: - $input = $this->ave->get_input(" FTP folder: "); + $input = $this->core->get_input(" FTP folder: "); if($input == '#'){ $ftp->close(); return false; } if(!$ftp->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#'){ $ftp->close(); return false; @@ -558,8 +558,8 @@ public function tool_delete_files() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#'){ $ftp->close(); return false; @@ -572,35 +572,35 @@ public function tool_delete_files() : bool { $errors = 0; - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $files = $remote->get_files($input, $extensions, null, $filters); $total = count($files); $items = 0; - $this->ave->echo(" Delete files from \"$input\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Delete files from \"$input\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; if($ftp->delete($file)){ - $this->ave->write_log("DELETE \"$file\""); + $this->core->write_log("DELETE \"$file\""); } else { - $this->ave->write_error("FAILED DELETE \"$file\""); + $this->core->write_error("FAILED DELETE \"$file\""); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_delete_empty_folders() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Delete empty folders"); + $this->core->clear(); + $this->core->set_subtool("Delete empty folders"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -608,49 +608,49 @@ public function tool_delete_empty_folders() : bool { $remote = new FtpService($ftp); set_input: - $input = $this->ave->get_input(" FTP folder: "); + $input = $this->core->get_input(" FTP folder: "); if($input == '#'){ $ftp->close(); return false; } if(!$ftp->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } $errors = 0; - $this->ave->clear(); - $this->ave->echo(" Get folders list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get folders list from \"$input\""); $files = array_reverse($remote->get_folders($input)); $total = count($files); $items = 0; - $this->ave->echo(" Delete empty folders from \"$input\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Delete empty folders from \"$input\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; if(!$remote->has_files($file)){ if($ftp->rmdir($file, false)){ - $this->ave->write_log("DELETE \"$file\""); + $this->core->write_log("DELETE \"$file\""); } else { - $this->ave->write_error("FAILED DELETE \"$file\""); + $this->core->write_error("FAILED DELETE \"$file\""); $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_delete_structure() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Delete structure"); + $this->core->clear(); + $this->core->set_subtool("Delete structure"); $ftp = $this->setup_ftp(" Label / ID: "); if(!$ftp) return false; @@ -658,68 +658,68 @@ public function tool_delete_structure() : bool { $remote = new FtpService($ftp); set_input: - $input = $this->ave->get_input(" FTP folder: "); + $input = $this->core->get_input(" FTP folder: "); if($input == '#'){ $ftp->close(); return false; } if(!$ftp->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } $errors = 0; - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $files = $remote->get_files($input); $total = count($files); $items = 0; - $this->ave->echo(" Delete files from \"$input\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Delete files from \"$input\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; if($ftp->delete($file)){ - $this->ave->write_log("DELETE \"$file\""); + $this->core->write_log("DELETE \"$file\""); } else { - $this->ave->write_error("FAILED DELETE \"$file\""); + $this->core->write_error("FAILED DELETE \"$file\""); $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->echo(" Get folders list from \"$input\""); + $this->core->echo(" Get folders list from \"$input\""); $files = array_reverse($remote->get_folders($input)); $total = count($files); $items = 0; - $this->ave->echo(" Delete empty folders from \"$input\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Delete empty folders from \"$input\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; if(!$remote->has_files($file)){ if($ftp->rmdir($file, false)){ - $this->ave->write_log("DELETE \"$file\""); + $this->core->write_log("DELETE \"$file\""); } else { - $this->ave->write_error("FAILED DELETE \"$file\""); + $this->core->write_error("FAILED DELETE \"$file\""); $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_copy_files_from_ftp_to_ftp() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Copy files from FTP to FTP"); + $this->core->clear(); + $this->core->set_subtool("Copy files from FTP to FTP"); $ftp_source = $this->setup_ftp(" Source label / ID: "); if(!$ftp_source) return false; @@ -734,31 +734,31 @@ public function tool_copy_files_from_ftp_to_ftp() : bool { $remote_destination = new FtpService($ftp_destination); set_input: - $input = $this->ave->get_input(" FTP input: "); + $input = $this->core->get_input(" FTP input: "); if($input == '#'){ $ftp_source->close(); $ftp_destination->close(); return false; } if(!$ftp_source->chdir($input)){ - $this->ave->echo(" Cannot change current folder to \"$input\""); + $this->core->echo(" Cannot change current folder to \"$input\""); goto set_input; } set_output: - $output = $this->ave->get_input(" FTP output: "); + $output = $this->core->get_input(" FTP output: "); if($output == '#'){ $ftp_source->close(); $ftp_destination->close(); return false; } if(!$remote_destination->folder_exists($output) && !$ftp_destination->mkdir($output)){ - $this->ave->echo(" Cannot access/create folder \"$output\""); + $this->core->echo(" Cannot access/create folder \"$output\""); goto set_output; } - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); + $this->core->echo(" Empty for all, separate with spaces for multiple"); + $line = $this->core->get_input(" Extensions: "); if($line == '#'){ $ftp_source->close(); $ftp_destination->close(); @@ -770,8 +770,8 @@ public function tool_copy_files_from_ftp_to_ftp() : bool { $extensions = explode(" ", $line); } - $this->ave->echo(" Empty for none, separate with spaces for multiple"); - $line = $this->ave->get_input(" Name filter: "); + $this->core->echo(" Empty for none, separate with spaces for multiple"); + $line = $this->core->get_input(" Name filter: "); if($line == '#'){ $ftp_source->close(); $ftp_destination->close(); @@ -783,14 +783,14 @@ public function tool_copy_files_from_ftp_to_ftp() : bool { $filters = explode(" ", $line); } - $create_empty_folders = $this->ave->get_confirm(" Create empty folders (Y/N): "); + $create_empty_folders = $this->core->get_confirm(" Create empty folders (Y/N): "); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); $directories = []; - $this->ave->clear(); - $this->ave->echo(" Get file list from \"$input\""); + $this->core->clear(); + $this->core->echo(" Get file list from \"$input\""); $ftp_destination->set_option(FTP_TIMEOUT_SEC, 3600); $files = $remote_source->get_files($input, $extensions, null, $filters); @@ -808,27 +808,27 @@ public function tool_copy_files_from_ftp_to_ftp() : bool { $total = count($directories); $items = 0; - $this->ave->echo(" Create folders in \"$output\""); - $this->ave->progress($items, $total); + $this->core->echo(" Create folders in \"$output\""); + $this->core->progress($items, $total); foreach($directories as $directory){ $items++; if(!$remote_destination->folder_exists($directory)){ if($ftp_destination->mkdir($directory, true)){ - $this->ave->write_log("FTP MKDIR \"$directory\""); + $this->core->write_log("FTP MKDIR \"$directory\""); } else { - $this->ave->write_error("FAILED FTP MKDIR \"$directory\""); + $this->core->write_error("FAILED FTP MKDIR \"$directory\""); $errors++; } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $total = count($files); $items = 0; - $this->ave->echo(" Copy files to \"$output\""); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->echo(" Copy files to \"$output\""); + $this->core->progress($items, $total); + $this->core->set_errors($errors); foreach($files as $file){ $items++; $fp = fopen('php://memory', 'r+'); @@ -836,51 +836,51 @@ public function tool_copy_files_from_ftp_to_ftp() : bool { fseek($fp, 0); $remote_file = str_ireplace($input, $output, $file); if($ftp_destination->fput($remote_file, $fp, FTP_BINARY)){ - $this->ave->write_log("COPY \"$file\" \"$remote_file\""); + $this->core->write_log("COPY \"$file\" \"$remote_file\""); } else { - $this->ave->write_error("FAILED UPLOAD \"$file\""); + $this->core->write_error("FAILED UPLOAD \"$file\""); $errors++; } } else { - $this->ave->write_error("FAILED DOWNLOAD \"$file\""); + $this->core->write_error("FAILED DOWNLOAD \"$file\""); $errors++; } fclose($fp); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } $ftp_source->close(); $ftp_destination->close(); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_import_file_zilla_xml() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Import file zilla XML"); + $this->core->clear(); + $this->core->set_subtool("Import file zilla XML"); set_xml_file: - $line = $this->ave->get_input(" XML file: "); + $line = $this->core->get_input(" XML file: "); if($line == '#') return false; - $line = $this->ave->get_input_folders($line); + $line = $this->core->get_input_folders($line); if(!isset($line[0])) goto set_xml_file; $input = $line[0]; if(!file_exists($input) || is_dir($input)){ - $this->ave->echo(" Invalid file"); + $this->core->echo(" Invalid file"); goto set_xml_file; } - $xml = file_get_contents($this->ave->get_file_path($input)); + $xml = file_get_contents($this->core->get_path($input)); $xml = str_replace(["\r","\n","\t"], '', $xml); $xml = preg_replace('/]+>[^>]+>/', '', $xml); $xml = str_replace(['', '', '', ''], '', $xml); $xml = @simplexml_load_string($xml); if($xml === false){ - $this->ave->echo(" Failed parse XML"); + $this->core->echo(" Failed parse XML"); goto set_xml_file; } @@ -890,32 +890,32 @@ public function tool_import_file_zilla_xml() : bool { if(isset($data['Server']['Name'])) $data['Server'] = [$data['Server']]; foreach($data['Server'] as $key => $server){ if(!isset($server['Name'])){ - $this->ave->echo(" Import servers[$key] failed, missing property: Name"); + $this->core->echo(" Import servers[$key] failed, missing property: Name"); continue; } if(!isset($server['Host'])){ - $this->ave->echo(" Import ".$server['Name']." failed, missing property: Host"); + $this->core->echo(" Import ".$server['Name']." failed, missing property: Host"); continue; } if(!isset($server['Port'])){ - $this->ave->echo(" Import ".$server['Name']." failed, missing property: Port"); + $this->core->echo(" Import ".$server['Name']." failed, missing property: Port"); continue; } if(!isset($server['User'])){ - $this->ave->echo(" Import ".$server['Name']." failed, missing property: User"); + $this->core->echo(" Import ".$server['Name']." failed, missing property: User"); continue; } if(!isset($server['Pass'])){ - $this->ave->echo(" Import ".$server['Name']." failed, missing property: Pass"); + $this->core->echo(" Import ".$server['Name']." failed, missing property: Pass"); continue; } if(!isset($server['Protocol'])){ - $this->ave->echo(" Import ".$server['Name']." failed, missing property: Protocol"); + $this->core->echo(" Import ".$server['Name']." failed, missing property: Protocol"); continue; } $label = substr(preg_replace("/[^A-Za-z0-9_\-]/", '', str_replace(" ", "_", trim($server['Name']))), 0, 32); if(strlen($label) < 3) substr($label."___", 0, 3); - if($this->ave->is_valid_label($label)){ + if($this->core->is_valid_label($label)){ $ini = $this->get_config($label); $ini->update([ 'FTP_HOST' => $server['Host'], @@ -925,31 +925,31 @@ public function tool_import_file_zilla_xml() : bool { 'FTP_PORT' => intval($server['Port']), ], true); $ini->close(); - $this->ave->echo(" Import ".$server['Name']." as $label success"); + $this->core->echo(" Import ".$server['Name']." as $label success"); } else { - $this->ave->echo(" Import ".$server['Name']." failed, invalid label"); + $this->core->echo(" Import ".$server['Name']." failed, invalid label"); } } } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function setup_ftp(string $name, bool $print = true) : FtpClient|bool { if($print) $this->get_select_label(); set_label: - $label = $this->ave->get_input($name); + $label = $this->core->get_input($name); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } @@ -961,8 +961,8 @@ public function setup_ftp(string $name, bool $print = true) : FtpClient|bool { $ftp->login($ini->get('FTP_USER'), $ini->get('FTP_PASSWORD')); } catch(FtpException $e){ - $this->ave->echo(" Failed to connect:"); - $this->ave->echo(" ".$e->getMessage()); + $this->core->echo(" Failed to connect:"); + $this->core->echo(" ".$e->getMessage()); goto set_label; } $ftp->set_option(FTP_TIMEOUT_SEC, 300); diff --git a/includes/tools/MediaSorter.php b/includes/ngc/tools/MediaSorter.php similarity index 51% rename from includes/tools/MediaSorter.php rename to includes/ngc/tools/MediaSorter.php index 7d4e7de..81f0e19 100644 --- a/includes/tools/MediaSorter.php +++ b/includes/ngc/tools/MediaSorter.php @@ -2,25 +2,24 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; -use App\Services\MediaFunctions; +use Toolkit; class MediaSorter { private string $name = "Media Sorter"; private array $params = []; private string $action; - private AVE $ave; + private Toolkit $core; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Sort Files: Date', ' 1 - Sort Files: Extension', @@ -52,55 +51,55 @@ public function action(string $action) : bool { } public function tool_sort_extension() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort extension"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Sort extension"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder); + $files = $this->core->get_files($folder); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); - $new_name = $this->ave->get_file_path("$folder/$extension/".pathinfo($file, PATHINFO_BASENAME)); - if(!$this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path("$folder/$extension/".pathinfo($file, PATHINFO_BASENAME)); + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_media_quality() : bool { - $this->ave->set_subtool("Sort media quality"); + $this->core->set_subtool("Sort media quality"); set_mode: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Modes:', ' 0 - Orientation + Quality', ' 1 - Orientation: Vertical / Horizontal / Square', ' 2 - Quality: 17280p 8640p 4320p 2160p 1440p 1080p 720p 540p 480p 360p 240p 144p', ]); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params['mode'] = strtolower($line[0] ?? '?'); @@ -108,19 +107,18 @@ public function tool_sort_media_quality() : bool { $this->params['resolution'] = in_array($this->params['mode'], ['0', '1']); $this->params['quality'] = in_array($this->params['mode'], ['0', '2']); - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $image_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); + $this->core->set_errors($errors); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $image_extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); $extensions = array_merge($image_extensions, $video_extensions); - $media = new MediaFunctions($this->ave); foreach($folders as $folder){ - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -128,19 +126,19 @@ public function tool_sort_media_quality() : bool { if(!file_exists($file)) continue 1; $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if(in_array($extension, $image_extensions)){ - $resolution = $media->get_image_resolution($file); + $resolution = $this->core->media->get_image_resolution($file); } else { - $resolution = $media->get_video_resolution($file); + $resolution = $this->core->media->get_video_resolution($file); } if($resolution == '0x0'){ - $this->ave->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); + $this->core->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); $errors++; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); continue 1; } $size = explode("x", $resolution); - $quality = $media->get_media_quality(intval($size[0]), intval($size[1]), in_array($extension, $video_extensions)).$this->ave->config->get('AVE_QUALITY_SUFFIX'); - $orientation_name = $media->get_media_orientation_name($media->get_media_orientation(intval($size[0]), intval($size[1]))); + $quality = $this->core->media->get_media_quality(intval($size[0]), intval($size[1]), in_array($extension, $video_extensions)).$this->core->config->get('QUALITY_SUFFIX'); + $orientation_name = $this->core->media->get_media_orientation_name($this->core->media->get_media_orientation(intval($size[0]), intval($size[1]))); if($this->params['resolution'] && $this->params['quality']){ $directory = "$folder/$orientation_name/$quality"; } else if($this->params['resolution']){ @@ -148,62 +146,61 @@ public function tool_sort_media_quality() : bool { } else if($this->params['quality']){ $directory = "$folder/$quality"; } - if(!$this->ave->rename($file, $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_BASENAME)))){ + if(!$this->core->rename($file, $this->core->get_path("$directory/".pathinfo($file, PATHINFO_BASENAME)))){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_gif_animated() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort gif animated"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Sort gif animated"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); - $media = new MediaFunctions($this->ave); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, ['gif']); + $files = $this->core->get_files($folder, ['gif']); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - if($media->is_gif_animated($file)){ + if($this->core->media->is_gif_animated($file)){ $directory = "$folder/Animated"; } else { $directory = "$folder/NotAnimated"; } - $new_name = $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); - if(!$this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } @@ -219,72 +216,72 @@ public function tool_sort_gif_animated() : bool { ]; public function tool_sort_date() : bool { - $this->ave->set_subtool("Sort date"); + $this->core->set_subtool("Sort date"); set_mode: - $this->ave->clear(); + $this->core->clear(); $help = [' Modes:']; foreach($this->tool_sortdate_mode as $mode_key => $mode_name){ array_push($help, " $mode_key $mode_name"); } - $this->ave->print_help($help); + $this->core->print_help($help); - $line = $this->ave->get_input(" Mode: "); + $line = $this->core->get_input(" Mode: "); if($line == '#') return false; $this->params['mode'] = strtolower($line[0] ?? '?'); if(!in_array($this->params['mode'], ['0', '1', '2', '3', '4', '5', '6', '7'])) goto set_mode; set_separator: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ ' Separators:', ' . - _ \ @', ]); - $separator = $this->ave->get_input(" Separator: "); + $separator = $this->core->get_input(" Separator: "); if($separator == '#') return false; $this->params['separator'] = strtolower($separator[0] ?? '?'); if(!in_array($this->params['separator'], ['.', '-', '_', '\\', '@'])) goto set_separator; if($this->params['separator'] == '\\') $this->params['separator'] = DIRECTORY_SEPARATOR; - $this->ave->clear(); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder); + $files = $this->core->get_files($folder); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; $new_name = $this->tool_sort_date_get_pattern($folder, $this->params['mode'], $file, $this->params['separator']); - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_date_get_pattern(string $folder, string $mode, string $file, string $separator) : string { - return $this->ave->get_file_path("$folder/".str_replace("-", $separator, $this->tool_sort_date_format_date($mode, filemtime($file)))."/".pathinfo($file, PATHINFO_BASENAME)); + return $this->core->get_path("$folder/".str_replace("-", $separator, $this->tool_sort_date_format_date($mode, filemtime($file)))."/".pathinfo($file, PATHINFO_BASENAME)); } public function tool_sort_date_format_date(string $mode, int $date) : string { @@ -302,69 +299,68 @@ public function tool_sort_date_format_date(string $mode, int $date) : string { } public function tool_sort_images_color() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort images color"); - $line = $this->ave->get_input(" Folders: "); + $this->core->clear(); + $this->core->set_subtool("Sort images color"); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); - $this->ave->setup_folders($folders); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); - $image_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); - $media = new MediaFunctions($this->ave); + $this->core->set_errors($errors); + $image_extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); foreach($folders as $folder){ if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $image_extensions); + $files = $this->core->get_files($folder, $image_extensions); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - $colors = $media->get_image_color_count($file); + $colors = $this->core->media->get_image_color_count($file); if(is_null($colors)){ $group = 'Unknown'; } else { - $group = $media->get_image_color_group($colors); + $group = $this->core->media->get_image_color_group($colors); } - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$group/".pathinfo($file, PATHINFO_BASENAME)); - if(!$this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$group/".pathinfo($file, PATHINFO_BASENAME)); + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_videos_auto_detect_series_name() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort videos auto detect series name"); + $this->core->clear(); + $this->core->set_subtool("Sort videos auto detect series name"); set_input: - $line = $this->ave->get_input(" Input: "); + $line = $this->core->get_input(" Input: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_input; $input = $folders[0]; if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); + $this->core->echo(" Invalid input folder"); goto set_input; } $errors = 0; - $this->ave->set_errors($errors); - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $files = $this->ave->get_files($input, $video_extensions); + $this->core->set_errors($errors); + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $files = $this->core->get_files($input, $video_extensions); $items = 0; $total = count($files); foreach($files as $file){ @@ -390,7 +386,7 @@ public function tool_sort_videos_auto_detect_series_name() : bool { if(!empty($marker)){ $end = strpos($file_name, $marker); if($end === false){ - $this->ave->write_error("FAILED GET MARKER \"$file\""); + $this->core->write_error("FAILED GET MARKER \"$file\""); $errors++; } else { $folder_name = str_replace(['_', '.', "\u{00A0}"], ' ', substr(pathinfo($file, PATHINFO_FILENAME), 0, $end)); @@ -400,64 +396,63 @@ public function tool_sort_videos_auto_detect_series_name() : bool { } $folder_name = trim($folder_name, ' '); if(empty($folder_name)){ - $this->ave->write_error("ESCAPED FOLDER NAME IS EMPTY \"$file\""); + $this->core->write_error("ESCAPED FOLDER NAME IS EMPTY \"$file\""); $errors++; } else { - $new_name = $this->ave->get_file_path("$input/$folder_name/".pathinfo($file, PATHINFO_BASENAME)); + $new_name = $this->core->get_path("$input/$folder_name/".pathinfo($file, PATHINFO_BASENAME)); if(file_exists($new_name) && strtoupper($new_name) != strtoupper($file)){ - $this->ave->write_error("DUPLICATE \"$file\" AS \"$new_name\""); + $this->core->write_error("DUPLICATE \"$file\" AS \"$new_name\""); $errors++; } else { - if(!$this->ave->rename($file, $new_name)){ + if(!$this->core->rename($file, $new_name)){ $errors++; } } } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_media_duration() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort media duration"); + $this->core->clear(); + $this->core->set_subtool("Sort media duration"); - $interval = $this->ave->get_input_time_interval(" Interval: "); + $interval = $this->core->get_input_time_interval(" Interval: "); if(!$interval) return false; - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); - $extensions = array_merge(explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')), explode(" ", $this->ave->config->get('AVE_EXTENSIONS_AUDIO'))); - $media = new MediaFunctions($this->ave); + $this->core->set_errors($errors); + $extensions = array_merge(explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')), explode(" ", $this->core->config->get('EXTENSIONS_AUDIO'))); foreach($folders as $folder){ - $files = $this->ave->get_files($folder, $extensions); + $files = $this->core->get_files($folder, $extensions); $items = 0; $total = count($files); foreach($files as $file){ $items++; if(!file_exists($file)) continue 1; - $duration = $media->get_video_duration_seconds($file); + $duration = $this->core->media->get_video_duration_seconds($file); $multiplier = floor($duration / $interval); if($multiplier == 0){ $start = '00_00'; } else { - $start = str_replace(":", "_", $media->sec_to_time(intval($interval * $multiplier) + 1)); + $start = str_replace(":", "_", $this->core->media->sec_to_time(intval($interval * $multiplier) + 1)); } - $end = str_replace(":", "_", $media->sec_to_time(intval($interval * ($multiplier + 1)))); + $end = str_replace(":", "_", $this->core->media->sec_to_time(intval($interval * ($multiplier + 1)))); $directory = "$folder/$start - $end"; - $new_name = $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); - if($this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); + if($this->core->rename($file, $new_name)){ $renamed = true; } else { $renamed = false; @@ -465,50 +460,50 @@ public function tool_sort_media_duration() : bool { } if($renamed){ $name = pathinfo($file, PATHINFO_FILENAME); - $follow_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO_FOLLOW')); + $follow_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO_FOLLOW')); foreach($follow_extensions as $a){ if(file_exists("$file.$a")){ - if(!$this->ave->rename("$file.$a", "$new_name.$a")) $errors++; + if(!$this->core->rename("$file.$a", "$new_name.$a")) $errors++; } } - $name_old = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.srt"); - $name_new = $this->ave->get_file_path("$directory/$name.srt"); + $name_old = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/$name.srt"); + $name_new = $this->core->get_path("$directory/$name.srt"); if(file_exists($name_old)){ - if(!$this->ave->rename($name_old, $name_new)){ + if(!$this->core->rename($name_old, $name_new)){ $errors++; } } } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_files_size() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort files size"); + $this->core->clear(); + $this->core->set_subtool("Sort files size"); - $interval = $this->ave->get_input_bytes_size(" Size: "); + $interval = $this->core->get_input_bytes_size(" Size: "); if(!$interval) return false; - $prefix = $this->ave->get_confirm(" Add numeric prefix for better sort folders (Y/N): "); + $prefix = $this->core->get_confirm(" Add numeric prefix for better sort folders (Y/N): "); - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ - $files = $this->ave->get_files($folder); + $files = $this->core->get_files($folder); $items = 0; $total = count($files); foreach($files as $file){ @@ -517,62 +512,62 @@ public function tool_sort_files_size() : bool { $size = filesize($file); $multiplier = floor(($size-1) / $interval); if($size == 0) $multiplier = 0; - $end = $this->ave->format_bytes(intval($interval * ($multiplier + 1))); + $end = $this->core->format_bytes(intval($interval * ($multiplier + 1))); if($prefix){ $directory = "$folder/".sprintf("%06d", $multiplier)." $end"; } else { $directory = "$folder/$end"; } - $new_name = $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); - if(!$this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path("$directory/".pathinfo($file, PATHINFO_BASENAME)); + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); + $this->core->progress($items, $total); + $this->core->set_errors($errors); } - $this->ave->progress($items, $total); + $this->core->progress($items, $total); unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } public function tool_sort_folders_quantity() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Sort folders quantity"); + $this->core->clear(); + $this->core->set_subtool("Sort folders quantity"); - $interval = $this->ave->get_input_integer(" Quantity interval: "); + $interval = $this->core->get_input_integer(" Quantity interval: "); if(!$interval) return false; - $line = $this->ave->get_input(" Folders: "); + $line = $this->core->get_input(" Folders: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); $errors = 0; - $this->ave->set_errors($errors); + $this->core->set_errors($errors); foreach($folders as $folder){ - $files = $this->ave->get_folders_ex($folder); + $files = $this->core->get_folders_ex($folder); foreach($files as $file){ if(!file_exists($file)) continue 1; - $quantity = count($this->ave->get_files($file)); + $quantity = count($this->core->get_files($file)); $multiplier = floor(($quantity-1) / $interval); if($quantity == 0) $multiplier = 0; $end = intval($interval * ($multiplier + 1)); - $new_name = $this->ave->get_file_path("$folder/$end/".pathinfo($file, PATHINFO_BASENAME)); - if(!$this->ave->rename($file, $new_name)){ + $new_name = $this->core->get_path("$folder/$end/".pathinfo($file, PATHINFO_BASENAME)); + if(!$this->core->rename($file, $new_name)){ $errors++; } - $this->ave->set_errors($errors); + $this->core->set_errors($errors); } unset($files); - $this->ave->set_folder_done($folder); + $this->core->set_folder_done($folder); } - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); return false; } diff --git a/includes/ngc/tools/MediaTools.php b/includes/ngc/tools/MediaTools.php new file mode 100644 index 0000000..785400d --- /dev/null +++ b/includes/ngc/tools/MediaTools.php @@ -0,0 +1,645 @@ +core = $core; + $this->core->set_tool($this->name); + } + + public function help() : void { + $this->core->print_help([ + ' Actions:', + ' 0 - Merge: Video + Audio', + ' 1 - Merge: Video + SRT', + ' 2 - Avatar generator', + ' 3 - Video: Fetch media info', + ' 4 - Image converter', + ' 5 - Ident mime type: Images', + ]); + } + + public function action(string $action) : bool { + $this->params = []; + $this->action = $action; + switch($this->action){ + case '0': return $this->tool_merge_video_audio(); + case '1': return $this->tool_merge_video_subtitles(); + case '2': return $this->tool_avatar_generator(); + case '3': return $this->tool_video_fetch_media_info(); + case '4': return $this->tool_image_converter(); + case '5': return $this->tool_ident_mime_type(); + } + return false; + } + + public function tool_merge_video_audio() : bool { + $this->core->clear(); + $this->core->set_subtool("Merge video audio"); + + set_video: + $line = $this->core->get_input(" Video: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_video; + $video = $folders[0]; + + if(!file_exists($video) || !is_dir($video)){ + $this->core->echo(" Invalid video folder"); + goto set_video; + } + + set_audio: + $line = $this->core->get_input(" Audio: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_audio; + $audio = $folders[0]; + + if(!file_exists($audio) || !is_dir($audio)){ + $this->core->echo(" Invalid audio folder"); + goto set_audio; + } + + set_output: + $line = $this->core->get_input(" Output: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_output; + $output = $folders[0]; + + if($audio == $output || $video == $output){ + $this->core->echo(" Output folder must be different than audio/video folder"); + goto set_output; + } + + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + + $errors = 0; + $this->core->set_errors($errors); + + $files_video = []; + $files_audio = []; + + $files = $this->core->get_files($video, $this->core->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); + foreach($files as $file){ + $files_video[pathinfo($file, PATHINFO_FILENAME)] = $file; + } + + $files = $this->core->get_files($audio, $this->core->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); + foreach($files as $file){ + $files_audio[pathinfo($file, PATHINFO_FILENAME)] = $file; + } + + $items = 0; + $total = count($files_video); + foreach($files_video as $key => $file){ + $items++; + if(!file_exists($file)){ + $this->core->write_error("FILE NOT FOUND \"$file\""); + $errors++; + } else if(!isset($files_audio[$key])){ + $this->core->write_error("AUDIO FILE NOT FOUND FOR \"$file\""); + $errors++; + } else { + $audio = $files_audio[$key]; + $out = $this->core->get_path("$output/$key.mkv"); + if(file_exists($out)){ + $this->core->write_error("FILE ALREADY EXISTS \"$out\""); + $errors++; + } else { + $this->core->exec("mkvmerge", "-o \"$out\" --no-audio --no-subtitles \"$file\" --no-video \"$audio\""); + if(!file_exists($out)){ + $this->core->write_error("FAILED MERGE \"$file\" + \"$audio\" INTO \"$out\""); + $errors++; + } else { + $this->core->write_log("MERGE \"$file\" + \"$audio\" INTO \"$out\""); + } + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_merge_video_subtitles() : bool { + $this->core->clear(); + $this->core->set_subtool("Merge video subtitles"); + + set_input: + $line = $this->core->get_input(" Input: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_input; + $input = $folders[0]; + + if(!file_exists($input) || !is_dir($input)){ + $this->core->echo(" Invalid input folder"); + goto set_input; + } + + set_output: + $line = $this->core->get_input(" Output: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_output; + $output = $folders[0]; + + if($input == $output){ + $this->core->echo(" Output folder must be different than input folder"); + goto set_output; + } + + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + + $errors = 0; + $this->core->set_errors($errors); + + $lang = $this->core->config->get('SUBTITLES_LANGUAGE'); + $files = $this->core->get_files($input, $this->core->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue; + $srt = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME).".srt"); + $out = $this->core->get_path("$output/".pathinfo($file, PATHINFO_BASENAME)); + if(file_exists($out)){ + $this->core->write_error("FILE ALREADY EXISTS \"$out\""); + $errors++; + } else if(!file_exists($srt)){ + $this->core->write_error("FILE NOT EXISTS \"$srt\""); + $errors++; + } else { + $this->core->exec("mkvmerge", "-o \"$out\" --default-track 0 --sub-charset 0:UTF-8 --language 0:$lang \"$srt\" \"$file\""); + if(!file_exists($out)){ + $this->core->write_error("FAILED MERGE \"$file\" + \"$srt\" INTO \"$out\""); + $errors++; + } else { + $this->core->write_log("MERGE \"$file\" + \"$srt\" INTO \"$out\""); + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_avatar_generator() : bool { + $this->core->clear(); + $this->core->set_subtool("Avatar generator"); + + set_input: + $line = $this->core->get_input(" Input: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_input; + $input = $folders[0]; + + if(!file_exists($input) || !is_dir($input)){ + $this->core->echo(" Invalid input folder"); + goto set_input; + } + + set_output: + $line = $this->core->get_input(" Output: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_output; + $output = $folders[0]; + + $size = $this->core->get_input_integer(" Width (0 - no resize): ", 0); + if(!$size) return false; + + if($input == $output){ + $this->core->echo(" Output folder must be different than input folder"); + goto set_output; + } + + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + + $image_extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); + $variants = explode(" ", $this->core->config->get('AVATAR_GENERATOR_VARIANTS')); + $files = $this->core->get_files($input, $image_extensions); + + $errors = 0; + + $detector = new FaceDetector($this->core->get_path($this->core->path."/includes/data/FaceDetector.dat")); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue; + $folder = pathinfo($file, PATHINFO_DIRNAME); + $directory = str_ireplace($input, $output, $folder); + if(!file_exists($directory)){ + if(!$this->core->mkdir($directory)){ + $errors++; + } + } + if(file_exists($directory)){ + $image = $this->core->media->get_image_from_path($file); + if(is_null($image)){ + $this->core->write_error("FAILED LOAD IMAGE \"$file\""); + $errors++; + } else { + $face = $detector->face_detect($image); + if(!$face){ + $this->core->write_error("FAILED GET FACE \"$file\""); + $errors++; + } else { + foreach($variants as $variant){ + $new_name = $this->core->get_path("$directory/".pathinfo($file, PATHINFO_FILENAME)."@$variant.".pathinfo($file, PATHINFO_EXTENSION)); + if($detector->save_variant_image(floatval($variant), $file, $new_name, $size)){ + $this->core->write_log("WRITE VARIANT $variant FOR \"$file\""); + } + } + } + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_video_fetch_media_info() : bool { + $this->core->clear(); + $this->core->set_subtool("Video fetch media info"); + + set_input: + $line = $this->core->get_input(" Input: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_input; + $input = $folders[0]; + + if(!file_exists($input) || !is_dir($input)){ + $this->core->echo(" Invalid input folder"); + goto set_input; + } + $output = $input; + + set_output: + $line = $this->core->get_input(" Output (Empty, same as input): "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(isset($folders[0])){ + $output = $folders[0]; + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + $file_name = 'MediaInfo'; + + $line = $this->core->get_input(" File name (Empty, default): "); + if($line == '#') return false; + $fname = $this->core->clean_file_name($line); + if(!empty($fname)) $file_name = $fname; + } + + $generate_checksum = $this->core->get_confirm(" Generate checksum if .md5 file not found (Y/N): "); + + $errors = 0; + $this->core->set_errors($errors); + + $ini_old = $this->core->get_path("$input/$file_name.ini"); + $ini_new = $this->core->get_path("$output/$file_name.gz-ini"); + if(file_exists($ini_old) && !file_exists($ini_new)){ + $this->core->rename($ini_old, $ini_new); + } + $cache = new IniFile($ini_new, true, true); + $this->core->echo(" Read file: $ini_new"); + $this->core->echo(" Last update: ".$cache->get('.LAST_UPDATE', 'None')); + + $csv_file = $this->core->get_path("$output/$file_name.csv"); + $this->core->delete($csv_file); + $csv = new Logs($csv_file, false, true); + $s = $this->core->config->get('CSV_SEPARATOR'); + $csv->write('"File path"'.$s.'"Dir name"'.$s.'"File name"'.$s.'"Extension"'.$s.'"Resolution"'.$s.'"Quality"'.$s.'"Duration"'.$s.'"Size"'.$s.'"Orientation"'.$s.'"Checksum (MD5)"'.$s.'"FPS"'.$s.'"Codec"'); + + $keys = []; + $video_extensions = explode(" ", $this->core->config->get('EXTENSIONS_VIDEO')); + $files = $this->core->get_files($input, $video_extensions); + $items = 0; + $new = 0; + $total = count($files); + foreach($files as $file){ + $items++; + $this->core->set_errors($errors); + if(!file_exists($file)) continue; + $key = hash('md5', str_ireplace($input, '', $file)); + if($cache->is_set($key)){ + $media_info = $cache->get($key); + $resolution = $media_info['resolution']; + $quality = $media_info['quality']; + $duration = $media_info['duration']; + $file_size = $media_info['file_size']; + $orientation_name = $media_info['orientation_name']; + $checksum = $media_info['checksum']; + $fps = $media_info['fps']; + $codec = $media_info['codec']; + if(is_null($checksum) && $generate_checksum){ + $checksum = strtoupper(hash_file('md5', $file)); + $new++; + } + } else { + $new++; + $resolution = $this->core->media->get_video_resolution($file); + if($resolution == '0x0'){ + $this->core->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); + $errors++; + continue; + } + $size = explode('x', $resolution); + $orientation = $this->core->media->get_media_orientation(intval($size[0]), intval($size[1])); + $quality = $this->core->media->get_media_quality(intval($size[0]), intval($size[1]), true).$this->core->config->get('QUALITY_SUFFIX'); + $duration = $this->core->media->get_video_duration($file); + $file_size = $this->core->format_bytes(filesize($file)); + $orientation_name = $this->core->media->get_media_orientation_name($orientation); + $fps = $this->core->media->get_video_fps($file); + $codec = $this->core->media->get_video_codec($file); + if(file_exists("$file.md5")){ + $checksum = file_get_contents("$file.md5"); + } else if($generate_checksum){ + $checksum = strtoupper(hash_file('md5', $file)); + } else { + $checksum = null; + } + $cache->set($key, [ + 'resolution' => $resolution, + 'quality' => $quality, + 'duration' => $duration, + 'file_size' => $file_size, + 'orientation_name' => $orientation_name, + 'checksum' => $checksum, + 'fps' => $fps, + 'codec' => $codec, + ]); + if($new > 0 && $new % 25 == 0) $cache->save(); + $this->core->write_log("FETCH MEDIA INFO \"$file\""); + } + $meta = [ + '"'.str_replace("\\\\", "\\", addslashes($file)).'"', + '"'.str_replace("\\\\", "\\", addslashes(pathinfo(pathinfo($file, PATHINFO_DIRNAME), PATHINFO_BASENAME))).'"', + '"'.str_replace("\\\\", "\\", addslashes(pathinfo($file, PATHINFO_FILENAME))).'"', + '"'.str_replace("\\\\", "\\", addslashes(pathinfo($file, PATHINFO_EXTENSION))).'"', + '"'.$resolution.'"', + '"'.$quality.'"', + '"'.$duration.'"', + '"'.$file_size.'"', + '"'.$orientation_name.'"', + '"'.($checksum ?? 'None').'"', + '"'.$fps.'"', + '"'.$codec.'"', + ]; + array_push($keys, $key); + $csv->write(implode($this->core->config->get('CSV_SEPARATOR'), $meta)); + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + $this->core->echo(" Saved results into ".$csv->get_path()); + $csv->close(); + $cache->set_all($cache->only($keys)); + $cache->update(['.LAST_UPDATE' => date('Y-m-d H:i:s')], true); + $cache->close(); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_image_converter() : bool { + $this->core->set_subtool("Image converter"); + + set_mode: + $this->core->clear(); + $this->core->print_help([ + ' Modes:', + ' 0 - Image > WEBP', + ' 1 - Image > JPG', + ' 2 - Image > PNG', + ' 3 - Image > GIF', + ]); + + $line = $this->core->get_input(" Mode: "); + if($line == '#') return false; + + $this->params = [ + 'mode' => strtolower($line[0] ?? '?'), + ]; + + if(!in_array($this->params['mode'],['0','1','2','3'])) goto set_mode; + $this->core->clear(); + + set_input: + $line = $this->core->get_input(" Input: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_input; + $input = $folders[0]; + + if(!file_exists($input) || !is_dir($input)){ + $this->core->echo(" Invalid input folder"); + goto set_input; + } + + set_output: + $line = $this->core->get_input(" Output: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + if(!isset($folders[0])) goto set_output; + $output = $folders[0]; + + if($input == $output){ + $this->core->echo(" Output folder must be different than input folder"); + goto set_output; + } + + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); + goto set_output; + } + + $errors = 0; + + $extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); + $files = $this->core->get_files($input); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + $this->core->set_errors($errors); + if(!file_exists($file)) continue; + if(!in_array(pathinfo($file, PATHINFO_EXTENSION), $extensions)){ + $this->core->write_error("FILE FORMAT NOT SUPORTED \"$file\""); + $errors++; + continue; + } + $folder = pathinfo($file, PATHINFO_DIRNAME); + $directory = str_ireplace($input, $output, $folder); + if(!file_exists($directory)){ + if(!$this->core->mkdir($directory)){ + $errors++; + continue; + } + } + $new_name = $this->core->get_path("$directory/".pathinfo($file, PATHINFO_FILENAME)); + $image = new Imagick($file); + if(!$image->valid()){ + $this->core->write_error("FAILED READ IMAGE \"$file\" BY IMAGICK"); + $errors++; + continue; + } + switch(intval($this->params['mode'])){ + case 0: { + $image->setImageFormat('webp'); + if($image->getImageFormat() == 'PNG'){ + $image->setOption('webp:lossless', 'true'); + } + $image->setImageCompressionQuality($this->core->config->get('COMPRESS_LEVEL_WEBP')); + $new_name .= ".webp"; + break; + } + case 1: { + $image->setImageFormat('jpeg'); + $image->setImageCompressionQuality($this->core->config->get('COMPRESS_LEVEL_JPEG')); + $new_name .= ".jpg"; + break; + } + case 2: { + $image->setImageFormat('png'); + $image->setImageCompressionQuality($this->core->config->get('COMPRESS_LEVEL_PNG')); + $new_name .= ".png"; + break; + } + case 3: { + $image->setImageFormat('gif'); + $image->setImageCompressionQuality($this->core->config->get('COMPRESS_LEVEL_GIF')); + $new_name .= ".gif"; + break; + } + } + if(file_exists($new_name)){ + $image->destroy(); + $this->core->write_error("FILE ALREADY EXISTS \"$new_name\""); + $errors++; + continue; + } + try { + $image->writeImage($new_name); + } + catch(Exception $e){ + $this->core->write_error($e->getMessage()); + } + $image->destroy(); + if(!file_exists($new_name)){ + $this->core->write_error("FAILED SAVE FILE \"$new_name\""); + $errors++; + continue; + } else { + $this->core->write_log("CONVERT \"$file\" TO \"$new_name\""); + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function tool_ident_mime_type() : bool { + $this->core->clear(); + $this->core->set_subtool("Ident mime type"); + if(!$this->core->windows) return $this->core->windows_only(); + + $line = $this->core->get_input(" Folders: "); + if($line == '#') return false; + $folders = $this->core->get_input_folders($line); + $this->core->setup_folders($folders); + + $errors = 0; + $this->core->set_errors($errors); + $image_extensions = explode(" ", $this->core->config->get('EXTENSIONS_PHOTO')); + array_push($image_extensions, ''); + foreach($folders as $folder){ + if(!file_exists($folder)) continue; + $files = $this->core->get_files($folder, $image_extensions); + $items = 0; + $total = count($files); + foreach($files as $file){ + $items++; + if(!file_exists($file)) continue 1; + $extension_current = strtolower(pathinfo($file, PATHINFO_EXTENSION)); + $extension_detected = $this->core->media->get_extension_by_mime_type($file); + if(!$extension_detected){ + $this->core->write_error("FAILED DETECT IMAGE TYPE \"$new_name\""); + $errors++; + continue 1; + } + if($extension_current != $extension_detected){ + $new_name = $this->core->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME).".".$extension_detected); + if(!$this->core->rename($file, $new_name)){ + $errors++; + } + } + $this->core->progress($items, $total); + $this->core->set_errors($errors); + } + $this->core->progress($items, $total); + unset($files); + $this->core->set_folder_done($folder); + } + + + $this->core->open_logs(true); + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + +} + +?> diff --git a/includes/tools/MySQLTools.php b/includes/ngc/tools/MySQLTools.php similarity index 69% rename from includes/tools/MySQLTools.php rename to includes/ngc/tools/MySQLTools.php index 8c88435..a27acfe 100644 --- a/includes/tools/MySQLTools.php +++ b/includes/ngc/tools/MySQLTools.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace App\Tools; +namespace NGC\Tools; -use AVE; +use Toolkit; use PDO; use PDOException; -use AveCore\IniFile; -use AveCore\Request; -use AveCore\MySQL; -use App\Services\DataBaseBackup; +use NGC\Core\IniFile; +use NGC\Core\Request; +use NGC\Core\MySQL; +use NGC\Services\DataBaseBackup; class MySQLTools { @@ -18,18 +18,18 @@ class MySQLTools { private array $params = []; private string $action; private string $path; - private AVE $ave; + private Toolkit $core; private array $select_label = []; - public function __construct(AVE $ave){ - $this->ave = $ave; - $this->ave->set_tool($this->name); - $this->path = $this->ave->get_file_path($this->ave->app_data."/MySQL"); + public function __construct(Toolkit $core){ + $this->core = $core; + $this->core->set_tool($this->name); + $this->path = $this->core->get_path("{$this->core->app_data}/MySQL"); $this->select_label = []; } public function help() : void { - $this->ave->print_help([ + $this->core->print_help([ ' Actions:', ' 0 - Configure connection', ' 1 - Remove connection', @@ -87,16 +87,16 @@ public function get_select_label() : void { $i++; } if(!empty($this->select_label)){ - $this->ave->echo(" Labels: "); + $this->core->echo(" Labels: "); foreach($this->select_label as $i => $label){ - $this->ave->echo(" $i - $label"); + $this->core->echo(" $i - $label"); } - $this->ave->echo(); + $this->core->echo(); } } public function get_config_path(string $label) : string { - return $this->ave->get_file_path("$this->path/$label.ini"); + return $this->core->get_path("$this->path/$label.ini"); } public function get_config(string $label) : IniFile { @@ -108,17 +108,17 @@ public function get_config(string $label) : IniFile { public function select_data_base(PDO $connection, ?DataBaseBackup $backup = null) : bool { $options = []; $i = 0; - $this->ave->echo(); - $this->ave->echo(" Data bases: "); + $this->core->echo(); + $this->core->echo(" Data bases: "); $items = $connection->query("SHOW DATABASES;", PDO::FETCH_OBJ); foreach($items as $item){ $options[$i] = $item->Database; - $this->ave->echo(" $i - $item->Database"); + $this->core->echo(" $i - $item->Database"); $i++; } - $this->ave->echo(); + $this->core->echo(); select_database: - $database = $this->ave->get_input(" DataBase: "); + $database = $this->core->get_input(" DataBase: "); if($database == '#') return false; if(!isset($options[$database])) goto select_database; $connection->query("USE ".$options[$database]); @@ -133,54 +133,54 @@ public function get_data_base(PDO $connection) : ?string { } public function tool_configure_connection() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Configure connection"); + $this->core->clear(); + $this->core->set_subtool("Configure connection"); - $this->ave->print_help([ + $this->core->print_help([ ' Allowed characters: A-Z a-z 0-9 _ -', ' Label length 3 - 32', ]); set_label: - $label = $this->ave->get_input(" Label: "); + $label = $this->core->get_input(" Label: "); if($label == '#') return false; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" already in use"); - if(!$this->ave->get_confirm(" Overwrite (Y/N): ")) goto set_label; + $this->core->echo(" Label \"$label\" already in use"); + if(!$this->core->get_confirm(" Overwrite (Y/N): ")) goto set_label; } - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ " Setup label: \"$label\"", ]); set_output: - $line = $this->ave->get_input(" Output: "); + $line = $this->core->get_input(" Output: "); if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); + $folders = $this->core->get_input_folders($line); if(!isset($folders[0])) goto set_output; $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); + if((file_exists($output) && !is_dir($output)) || !$this->core->mkdir($output)){ + $this->core->echo(" Invalid output folder"); goto set_output; } set_db_connection: - $db['host'] = $this->ave->get_input(" DB Host: "); + $db['host'] = $this->core->get_input(" DB Host: "); if($db['host'] == '#') return false; - $db['port'] = $this->ave->get_input_integer(" DB Port (Default 3306): ", 0, 65353); + $db['port'] = $this->core->get_input_integer(" DB Port (Default 3306): ", 0, 65353); if(!$db['port']) return false; - $db['name'] = $this->ave->get_input(" DB Name (Type * for none): "); + $db['name'] = $this->core->get_input(" DB Name (Type * for none): "); if($db['name'] == '#') return false; - $db['user'] = $this->ave->get_input(" DB User: "); + $db['user'] = $this->core->get_input(" DB User: "); if($db['user'] == '#') return false; - $db['password'] = $this->ave->get_input_no_trim(" DB Pass: "); + $db['password'] = $this->core->get_input_no_trim(" DB Pass: "); if($db['password'] == '#') return false; try_login_same: @@ -190,27 +190,27 @@ public function tool_configure_connection() : bool { PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; try { - $this->ave->echo(" Connecting to: ".$db['host'].":".$db['port']."@".$db['user']); + $this->core->echo(" Connecting to: ".$db['host'].":".$db['port']."@".$db['user']); $conn = new PDO("mysql:".($db['name'] == "*" ? "" : "dbname=".$db['name'].";")."host=".$db['host'].";port=".$db['port'], $db['user'], $db['password'], $options); } catch(PDOException $e){ - $this->ave->echo(" Failed to connect:"); - $this->ave->echo(" ".$e->getMessage()); - if($this->ave->get_confirm(" Retry (Y/N): ")) goto try_login_same; + $this->core->echo(" Failed to connect:"); + $this->core->echo(" ".$e->getMessage()); + if($this->core->get_confirm(" Retry (Y/N): ")) goto try_login_same; goto set_db_connection; } $conn = null; - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ " Connection test completed successfully.", " Set additional config for label: \"$label\"", ]); - $backup['structure'] = $this->ave->get_confirm(" Backup structure (Y/N): "); - $backup['data'] = $this->ave->get_confirm(" Backup data (Y/N): "); - $backup['compress'] = $this->ave->get_confirm(" Compress after backup (Y/N): "); - $backup['lock_tables'] = $this->ave->get_confirm(" Lock tables during background backup (Y/N): "); + $backup['structure'] = $this->core->get_confirm(" Backup structure (Y/N): "); + $backup['data'] = $this->core->get_confirm(" Backup data (Y/N): "); + $backup['compress'] = $this->core->get_confirm(" Compress after backup (Y/N): "); + $backup['lock_tables'] = $this->core->get_confirm(" Lock tables during background backup (Y/N): "); $ini = $this->get_config($label); $ini->update([ @@ -229,127 +229,127 @@ public function tool_configure_connection() : bool { 'BACKUP_LOCK_TABLES' => $backup['lock_tables'], ], true); - $this->ave->clear(); - $this->ave->pause(" Setup connection for \"$label\" done, press any key to back to menu"); + $this->core->clear(); + $this->core->pause(" Setup connection for \"$label\" done, press any key to back to menu"); return false; } public function tool_remove_connection() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Remove connection"); + $this->core->clear(); + $this->core->set_subtool("Remove connection"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } $path = $this->get_config_path($label); if(!file_exists($path)){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } - $this->ave->delete($path); + $this->core->delete($path); return false; } public function tool_open_config_folder() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Open config folder"); - $this->ave->open_file($this->path, ''); + $this->core->clear(); + $this->core->set_subtool("Open config folder"); + $this->core->open_file($this->path, ''); return false; } public function tool_show_connections() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Show connections"); + $this->core->clear(); + $this->core->set_subtool("Show connections"); - $this->ave->echo(" Connections:"); + $this->core->echo(" Connections:"); $cnt = 0; - $files = $this->ave->get_files($this->path, ['ini']); + $files = $this->core->get_files($this->path, ['ini']); foreach($files as $file){ $ini = new IniFile($file); if($ini->is_valid() && $ini->is_set('DB_HOST')){ $label = pathinfo($file, PATHINFO_FILENAME); - $this->ave->echo(" $label".str_repeat(" ",32-strlen($label))." ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" $label".str_repeat(" ",32-strlen($label))." ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); $cnt++; } } if($cnt == 0){ - $this->ave->echo(" No connections found"); + $this->core->echo(" No connections found"); } - $this->ave->pause("\r\n Press any key to back to menu"); + $this->core->pause("\r\n Press any key to back to menu"); return false; } public function tool_make_backup() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Make backup"); + $this->core->clear(); + $this->core->set_subtool("Make backup"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } $ini = $this->get_config($label); if($ini->get('BACKUP_ADD_LABEL_TO_PATH')){ - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')."/$label"); + $path = $this->core->get_path($ini->get('BACKUP_PATH')."/$label"); } else { - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')); + $path = $this->core->get_path($ini->get('BACKUP_PATH')); } $callback = $ini->get('BACKUP_CURL_CALLBACK'); $request = new Request(); - if(!$this->ave->is_valid_device($path)){ - $this->ave->echo(" Output device \"$path\" is not available"); + if(!$this->core->is_valid_device($path)){ + $this->core->echo(" Output device \"$path\" is not available"); goto set_label; } if(!is_null($callback)){ - if(!$this->ave->get_confirm(" Toggle website into maintenance (Y/N): ")){ + if(!$this->core->get_confirm(" Toggle website into maintenance (Y/N): ")){ $callback = null; } } - $lock_tables = $this->ave->get_confirm(" Lock tables during backup (Y/N): "); + $lock_tables = $this->core->get_confirm(" Lock tables during backup (Y/N): "); - $this->ave->write_log("Initialize backup for \"$label\""); - $this->ave->echo(" Initialize backup service"); + $this->core->write_log("Initialize backup for \"$label\""); + $this->core->echo(" Initialize backup service"); $backup = new DataBaseBackup($path, $ini->get('BACKUP_QUERY_LIMIT'), $ini->get('BACKUP_INSERT_LIMIT'), $ini->get('FOLDER_DATE_FORMAT')); $backup->toggle_lock_tables($lock_tables); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_START'], true); - $this->ave->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); if(!$backup->connect($ini->get('DB_HOST'), $ini->get('DB_USER'), $ini->get('DB_PASSWORD'), $ini->get('DB_NAME'), $ini->get('DB_PORT'))) goto set_label; if($ini->get('DB_NAME') == "*" && !$this->select_data_base($backup->get_source(), $backup)) return false; - $this->ave->echo(" Create backup"); + $this->core->echo(" Create backup"); $items = $backup->get_tables(); $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Table', $progress, $total); + $this->core->set_progress_ex('Table', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for table $item"); + $this->core->write_log("Create backup for table $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "table:$item"], true); if($ini->get('BACKUP_TYPE_STRUCTURE')){ $errors_structure = $backup->backup_table_structure($item); @@ -359,7 +359,7 @@ public function tool_make_backup() : bool { } $errors = array_merge($errors_structure ?? [], $errors_data ?? []); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "table:$item", 'errors' => $errors]; } else { @@ -369,7 +369,7 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "table:$item"], true); } - $this->ave->set_progress_ex('Table', $progress, $total); + $this->core->set_progress_ex('Table', $progress, $total); } try { @@ -377,18 +377,18 @@ public function tool_make_backup() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get views"); + $this->core->write_error("Access denied for get views"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('View', $progress, $total); + $this->core->set_progress_ex('View', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for view $item"); + $this->core->write_log("Create backup for view $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "view:$item"], true); $errors = $backup->backup_view($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "view:$item", 'errors' => $errors]; } else { @@ -398,7 +398,7 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "view:$item"], true); } - $this->ave->set_progress_ex('View', $progress, $total); + $this->core->set_progress_ex('View', $progress, $total); } try { @@ -406,18 +406,18 @@ public function tool_make_backup() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get functions"); + $this->core->write_error("Access denied for get functions"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Function', $progress, $total); + $this->core->set_progress_ex('Function', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for function $item"); + $this->core->write_log("Create backup for function $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "function:$item"], true); $errors = $backup->backup_function($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "function:$item", 'errors' => $errors]; } else { @@ -427,7 +427,7 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "function:$item"], true); } - $this->ave->set_progress_ex('Function', $progress, $total); + $this->core->set_progress_ex('Function', $progress, $total); } try { @@ -435,18 +435,18 @@ public function tool_make_backup() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get procedures"); + $this->core->write_error("Access denied for get procedures"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Procedure', $progress, $total); + $this->core->set_progress_ex('Procedure', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for procedure $item"); + $this->core->write_log("Create backup for procedure $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "procedure:$item"], true); $errors = $backup->backup_procedure($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "procedure:$item", 'errors' => $errors]; } else { @@ -456,7 +456,7 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "procedure:$item"], true); } - $this->ave->set_progress_ex('Procedure', $progress, $total); + $this->core->set_progress_ex('Procedure', $progress, $total); } try { @@ -464,18 +464,18 @@ public function tool_make_backup() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get events"); + $this->core->write_error("Access denied for get events"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Event', $progress, $total); + $this->core->set_progress_ex('Event', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for event $item"); + $this->core->write_log("Create backup for event $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "event:$item"], true); $errors = $backup->backup_event($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "event:$item", 'errors' => $errors]; } else { @@ -485,7 +485,7 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "event:$item"], true); } - $this->ave->set_progress_ex('Event', $progress, $total); + $this->core->set_progress_ex('Event', $progress, $total); } try { @@ -493,18 +493,18 @@ public function tool_make_backup() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get triggers"); + $this->core->write_error("Access denied for get triggers"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Trigger', $progress, $total); + $this->core->set_progress_ex('Trigger', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Create backup for trigger $item"); + $this->core->write_log("Create backup for trigger $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "trigger:$item"], true); $errors = $backup->backup_trigger($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "trigger:$item", 'errors' => $errors]; } else { @@ -514,11 +514,11 @@ public function tool_make_backup() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "trigger:$item"], true); } - $this->ave->set_progress_ex('Trigger', $progress, $total); + $this->core->set_progress_ex('Trigger', $progress, $total); } - $this->ave->echo(); - $this->ave->write_log("Finish backup for \"$label\""); + $this->core->echo(); + $this->core->write_log("Finish backup for \"$label\""); if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'BACKUP_END'], true); $backup->disconnect(); @@ -526,79 +526,79 @@ public function tool_make_backup() : bool { if($ini->get('BACKUP_COMPRESS', false)){ $this->compress($callback, $output, $ini->get('BACKUP_PATH'), $request); } else { - $this->ave->open_file($output); + $this->core->open_file($output); } - $this->ave->open_logs(true); - $this->ave->pause(" Backup for \"$label\" done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Backup for \"$label\" done, press any key to back to menu"); return false; } public function tool_make_clone() : bool { - $this->ave->set_subtool("Make clone"); + $this->core->set_subtool("Make clone"); reset_connection: - $this->ave->clear(); + $this->core->clear(); $this->get_select_label(); set_label_source: - $source = $this->ave->get_input(" Source label / ID: "); + $source = $this->core->get_input(" Source label / ID: "); if($source == '#') return false; if(isset($this->select_label[$source])) $source = $this->select_label[$source]; - if(!$this->ave->is_valid_label($source)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($source)){ + $this->core->echo(" Invalid label"); goto set_label_source; } if(!file_exists($this->get_config_path($source))){ - $this->ave->echo(" Source label \"$source\" not exists"); + $this->core->echo(" Source label \"$source\" not exists"); goto set_label_source; } $ini_source = $this->get_config($source); if($ini_source->get('BACKUP_ADD_LABEL_TO_PATH')){ - $path = $this->ave->get_file_path($ini_source->get('BACKUP_PATH')."/$source"); + $path = $this->core->get_path($ini_source->get('BACKUP_PATH')."/$source"); } else { - $path = $this->ave->get_file_path($ini_source->get('BACKUP_PATH')); + $path = $this->core->get_path($ini_source->get('BACKUP_PATH')); } $callback = $ini_source->get('BACKUP_CURL_CALLBACK'); $request = new Request(); if(!is_null($callback)){ - if(!$this->ave->get_confirm(" Toggle website into maintenance (Y/N): ")){ + if(!$this->core->get_confirm(" Toggle website into maintenance (Y/N): ")){ $callback = null; } } - $lock_tables = $this->ave->get_confirm(" Lock tables during clone (Y/N): "); + $lock_tables = $this->core->get_confirm(" Lock tables during clone (Y/N): "); - $this->ave->write_log("Initialize backup for \"$source\""); - $this->ave->echo(" Initialize backup service"); + $this->core->write_log("Initialize backup for \"$source\""); + $this->core->echo(" Initialize backup service"); $backup = new DataBaseBackup($path, $ini_source->get('BACKUP_QUERY_LIMIT'), $ini_source->get('BACKUP_INSERT_LIMIT'), $ini_source->get('FOLDER_DATE_FORMAT')); $backup->toggle_lock_tables($lock_tables); - $this->ave->echo(" Connecting to: ".$ini_source->get('DB_HOST').":".$ini_source->get('DB_PORT')."@".$ini_source->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini_source->get('DB_HOST').":".$ini_source->get('DB_PORT')."@".$ini_source->get('DB_USER')); if(!$backup->connect($ini_source->get('DB_HOST'), $ini_source->get('DB_USER'), $ini_source->get('DB_PASSWORD'), $ini_source->get('DB_NAME'), $ini_source->get('DB_PORT'))) goto set_label_source; if($ini_source->get('DB_NAME') == "*" && !$this->select_data_base($backup->get_source(), $backup)) return false; - $this->ave->clear(); + $this->core->clear(); $this->get_select_label(); set_label_destination: - $destination = $this->ave->get_input(" Destination label: "); + $destination = $this->core->get_input(" Destination label: "); if($destination == '#') return false; if(isset($this->select_label[$destination])) $destination = $this->select_label[$destination]; - if(!$this->ave->is_valid_label($destination)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($destination)){ + $this->core->echo(" Invalid label"); goto set_label_destination; } if(!file_exists($this->get_config_path($destination))){ - $this->ave->echo(" Destination label \"$destination\" not exists"); + $this->core->echo(" Destination label \"$destination\" not exists"); goto set_label_destination; } $ini_dest = $this->get_config($destination); - $this->ave->echo(" Connecting to: ".$ini_dest->get('DB_HOST').":".$ini_dest->get('DB_PORT')."@".$ini_dest->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini_dest->get('DB_HOST').":".$ini_dest->get('DB_PORT')."@".$ini_dest->get('DB_USER')); if(!$backup->connect_destination($ini_dest->get('DB_HOST'), $ini_dest->get('DB_USER'), $ini_dest->get('DB_PASSWORD'), $ini_dest->get('DB_NAME'), $ini_dest->get('DB_PORT'))) goto set_label_destination; if($ini_dest->get('DB_NAME') == "*" && !$this->select_data_base($backup->get_destination())) return false; @@ -608,37 +608,37 @@ public function tool_make_clone() : bool { if($ini_source->get('DB_HOST') == $ini_dest->get('DB_HOST') && $ini_source->get('DB_USER') == $ini_dest->get('DB_USER') && $dbname_source == $dbname_destination && $ini_source->get('DB_PORT') == $ini_dest->get('DB_PORT')){ $backup->disconnect(); $backup->disconnect_destination(); - $this->ave->pause(" Destination database `$dbname_destination` is same as source database `$dbname_source`, press any key to reset connection"); + $this->core->pause(" Destination database `$dbname_destination` is same as source database `$dbname_source`, press any key to reset connection"); goto reset_connection; } - $this->ave->clear(); - if(!$this->ave->get_confirm(" Clone database `$dbname_source` to `$dbname_destination` (Y/N): ")){ - $this->ave->pause(" Clone `$dbname_source` to `$dbname_destination` aborted, press any key to back to menu"); + $this->core->clear(); + if(!$this->core->get_confirm(" Clone database `$dbname_source` to `$dbname_destination` (Y/N): ")){ + $this->core->pause(" Clone `$dbname_source` to `$dbname_destination` aborted, press any key to back to menu"); return false; } if(!$backup->is_destination_empty()){ - if(!$this->ave->get_confirm(" Output database is not empty, continue (Y/N): ")){ - $this->ave->pause(" Clone `$dbname_source` to `$dbname_destination` aborted, press any key to back to menu"); + if(!$this->core->get_confirm(" Output database is not empty, continue (Y/N): ")){ + $this->core->pause(" Clone `$dbname_source` to `$dbname_destination` aborted, press any key to back to menu"); return false; } } - $this->ave->echo(" Clone `$dbname_source` to `$dbname_destination`"); + $this->core->echo(" Clone `$dbname_source` to `$dbname_destination`"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_START'], true); $items = $backup->get_tables(); $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Table Structure', $progress, $total); + $this->core->set_progress_ex('Table Structure', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone table Structure $item"); + $this->core->write_log("Clone table Structure $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "table:$item"], true); $errors = $backup->clone_table_structure($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "table:$item", 'errors' => $errors]; } else { @@ -648,19 +648,19 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "table:$item"], true); } - $this->ave->set_progress_ex('Table Structure', $progress, $total); + $this->core->set_progress_ex('Table Structure', $progress, $total); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Table Data', $progress, $total); + $this->core->set_progress_ex('Table Data', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone table data $item"); + $this->core->write_log("Clone table data $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "table:$item"], true); $errors = $backup->clone_table_data($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "table:$item", 'errors' => $errors]; } else { @@ -670,7 +670,7 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "table:$item"], true); } - $this->ave->set_progress_ex('Table Data', $progress, $total); + $this->core->set_progress_ex('Table Data', $progress, $total); } try { @@ -678,18 +678,18 @@ public function tool_make_clone() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get views"); + $this->core->write_error("Access denied for get views"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('View', $progress, $total); + $this->core->set_progress_ex('View', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone view $item"); + $this->core->write_log("Clone view $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "view:$item"], true); $errors = $backup->clone_view($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "view:$item", 'errors' => $errors]; } else { @@ -699,7 +699,7 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "view:$item"], true); } - $this->ave->set_progress_ex('View', $progress, $total); + $this->core->set_progress_ex('View', $progress, $total); } try { @@ -707,18 +707,18 @@ public function tool_make_clone() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get functions"); + $this->core->write_error("Access denied for get functions"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Function', $progress, $total); + $this->core->set_progress_ex('Function', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone function $item"); + $this->core->write_log("Clone function $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "function:$item"], true); $errors = $backup->clone_function($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "function:$item", 'errors' => $errors]; } else { @@ -728,7 +728,7 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "function:$item"], true); } - $this->ave->set_progress_ex('Function', $progress, $total); + $this->core->set_progress_ex('Function', $progress, $total); } try { @@ -736,18 +736,18 @@ public function tool_make_clone() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get procedures"); + $this->core->write_error("Access denied for get procedures"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Procedure', $progress, $total); + $this->core->set_progress_ex('Procedure', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone procedure $item"); + $this->core->write_log("Clone procedure $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "procedure:$item"], true); $errors = $backup->clone_procedure($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "procedure:$item", 'errors' => $errors]; } else { @@ -757,7 +757,7 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "procedure:$item"], true); } - $this->ave->set_progress_ex('Procedure', $progress, $total); + $this->core->set_progress_ex('Procedure', $progress, $total); } try { @@ -765,18 +765,18 @@ public function tool_make_clone() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get events"); + $this->core->write_error("Access denied for get events"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Event', $progress, $total); + $this->core->set_progress_ex('Event', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone event $item"); + $this->core->write_log("Clone event $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "event:$item"], true); $errors = $backup->clone_event($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "event:$item", 'errors' => $errors]; } else { @@ -786,7 +786,7 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "event:$item"], true); } - $this->ave->set_progress_ex('Event', $progress, $total); + $this->core->set_progress_ex('Event', $progress, $total); } try { @@ -794,18 +794,18 @@ public function tool_make_clone() : bool { } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get triggers"); + $this->core->write_error("Access denied for get triggers"); } $progress = 0; $total = count($items); - $this->ave->set_progress_ex('Trigger', $progress, $total); + $this->core->set_progress_ex('Trigger', $progress, $total); foreach($items as $item){ $progress++; - $this->ave->write_log("Clone trigger $item"); + $this->core->write_log("Clone trigger $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "trigger:$item"], true); $errors = $backup->clone_trigger($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini_source->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "trigger:$item", 'errors' => $errors]; } else { @@ -815,68 +815,68 @@ public function tool_make_clone() : bool { } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "trigger:$item"], true); } - $this->ave->set_progress_ex('Trigger', $progress, $total); + $this->core->set_progress_ex('Trigger', $progress, $total); } - $this->ave->echo(); - $this->ave->write_log("Finish clone `$dbname_source` to `$dbname_destination`"); + $this->core->echo(); + $this->core->write_log("Finish clone `$dbname_source` to `$dbname_destination`"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_END'], true); $backup->disconnect(); $backup->disconnect_destination(); - $this->ave->open_logs(true); - $this->ave->pause(" Clone for `$dbname_source` to `$dbname_destination` done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Clone for `$dbname_source` to `$dbname_destination` done, press any key to back to menu"); return false; } public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bool { - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label \"$label\""); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label \"$label\""); return false; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); return false; } $ini = $this->get_config($label); if($ini->get('BACKUP_ADD_LABEL_TO_PATH')){ - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')."/$label"); + $path = $this->core->get_path($ini->get('BACKUP_PATH')."/$label"); } else { - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')); + $path = $this->core->get_path($ini->get('BACKUP_PATH')); } $callback = $ini->get('BACKUP_CURL_CALLBACK'); $request = new Request(); - if(!$this->ave->is_valid_device($path)){ - $this->ave->echo(" Output device \"$path\" is not available"); + if(!$this->core->is_valid_device($path)){ + $this->core->echo(" Output device \"$path\" is not available"); return false; } if($ini->get('DB_NAME') == "*" && is_null($dbname)){ - $this->ave->echo(" No data base selected"); + $this->core->echo(" No data base selected"); return false; } - $this->ave->write_log("Initialize backup for \"$label\""); - $this->ave->echo(" Initialize backup service"); + $this->core->write_log("Initialize backup for \"$label\""); + $this->core->echo(" Initialize backup service"); $backup = new DataBaseBackup($path, $ini->get('BACKUP_QUERY_LIMIT'), $ini->get('BACKUP_INSERT_LIMIT'), $ini->get('FOLDER_DATE_FORMAT')); $backup->toggle_lock_tables($ini->get('BACKUP_LOCK_TABLES')); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_START'], true); - $this->ave->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); if(!$backup->connect($ini->get('DB_HOST'), $ini->get('DB_USER'), $ini->get('DB_PASSWORD'), $ini->get('DB_NAME'), $ini->get('DB_PORT'))){ - $this->ave->echo(" Failed connect to database"); + $this->core->echo(" Failed connect to database"); return false; } if($ini->get('DB_NAME') == "*") $backup->get_source()->query("USE $dbname"); - $this->ave->echo(" Create backup"); + $this->core->echo(" Create backup"); $items = $backup->get_tables(); foreach($items as $item){ - $this->ave->write_log("Create backup for table $item"); + $this->core->write_log("Create backup for table $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "table:$item"], true); if($ini->get('BACKUP_TYPE_STRUCTURE')){ $errors_structure = $backup->backup_table_structure($item); @@ -886,7 +886,7 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } $errors = array_merge($errors_structure ?? [], $errors_data ?? []); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "table:$item", 'errors' => $errors]; } else { @@ -903,14 +903,14 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get views"); + $this->core->write_error("Access denied for get views"); } foreach($items as $item){ - $this->ave->write_log("Create backup for view $item"); + $this->core->write_log("Create backup for view $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "view:$item"], true); $errors = $backup->backup_view($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "view:$item", 'errors' => $errors]; } else { @@ -927,14 +927,14 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get functions"); + $this->core->write_error("Access denied for get functions"); } foreach($items as $item){ - $this->ave->write_log("Create backup for function $item"); + $this->core->write_log("Create backup for function $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "function:$item"], true); $errors = $backup->backup_function($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "function:$item", 'errors' => $errors]; } else { @@ -951,14 +951,14 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get procedures"); + $this->core->write_error("Access denied for get procedures"); } foreach($items as $item){ - $this->ave->write_log("Create backup for procedure $item"); + $this->core->write_log("Create backup for procedure $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "procedure:$item"], true); $errors = $backup->backup_procedure($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "procedure:$item", 'errors' => $errors]; } else { @@ -975,14 +975,14 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get events"); + $this->core->write_error("Access denied for get events"); } foreach($items as $item){ - $this->ave->write_log("Create backup for event $item"); + $this->core->write_log("Create backup for event $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "event:$item"], true); $errors = $backup->backup_event($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "event:$item", 'errors' => $errors]; } else { @@ -999,14 +999,14 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } catch(PDOException $e){ $items = []; - $this->ave->write_error("Access denied for get triggers"); + $this->core->write_error("Access denied for get triggers"); } foreach($items as $item){ - $this->ave->write_log("Create backup for trigger $item"); + $this->core->write_log("Create backup for trigger $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "trigger:$item"], true); $errors = $backup->backup_trigger($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "trigger:$item", 'errors' => $errors]; } else { @@ -1018,8 +1018,8 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo } } - $this->ave->echo(); - $this->ave->write_log("Finish backup for \"$label\""); + $this->core->echo(); + $this->core->write_log("Finish backup for \"$label\""); if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'BACKUP_END'], true); $backup->disconnect(); @@ -1027,74 +1027,74 @@ public function tool_make_backup_cmd(string $label, ?string $dbname = null) : bo if($ini->get('BACKUP_COMPRESS', false)){ $this->compress($callback, $output, $ini->get('BACKUP_PATH'), $request); } else { - $this->ave->open_file($output); + $this->core->open_file($output); } - $this->ave->echo(" Backup for \"$label\" done"); - $this->ave->write_log(" Backup for \"$label\" done"); + $this->core->echo(" Backup for \"$label\" done"); + $this->core->write_log(" Backup for \"$label\" done"); return true; } public function tool_open_backup_folder() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Open backup folder"); + $this->core->clear(); + $this->core->set_subtool("Open backup folder"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } $path = $this->get_config_path($label); if(!file_exists($path)){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } $config = $this->get_config($label); - $this->ave->open_file($this->ave->get_file_path($config->get('BACKUP_PATH')."/$label"), ''); + $this->core->open_file($this->core->get_path($config->get('BACKUP_PATH')."/$label"), ''); return false; } public function tool_mysql_console() : bool { - $this->ave->clear(); - $this->ave->set_subtool("MySQL console"); + $this->core->clear(); + $this->core->set_subtool("MySQL console"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } $ini = $this->get_config($label); $db = new MySQL(); - $this->ave->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); if(!$db->connect($ini->get('DB_HOST'), $ini->get('DB_USER'), $ini->get('DB_PASSWORD'), $ini->get('DB_NAME'), $ini->get('DB_PORT'))) goto set_label; if($ini->get('DB_NAME') == "*" && !$this->select_data_base($db->get_connection())) return false; - $save_output = $this->ave->get_confirm(" Save query results in data file (Y/N): "); + $save_output = $this->core->get_confirm(" Save query results in data file (Y/N): "); if($save_output){ - $this->ave->write_data([" Query results for: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER'), ""]); + $this->core->write_data([" Query results for: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER'), ""]); } clear: - $this->ave->clear(); - $this->ave->print_help([ + $this->core->clear(); + $this->core->print_help([ " MySQL Console: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')." [$label] Save results: ".($save_output ? 'Enabled' : 'Disabled'), " Additional commands: ", " @exit - close connection", @@ -1104,50 +1104,50 @@ public function tool_mysql_console() : bool { try { query: - if($save_output) $this->ave->write_data(""); - $query = $this->ave->get_input_no_trim(" MySQL: "); + if($save_output) $this->core->write_data(""); + $query = $this->core->get_input_no_trim(" MySQL: "); $lquery = strtolower($query); if($lquery == '@exit'){ goto close_connection; } else if($lquery == '@clear'){ goto clear; } else if($lquery == '@open'){ - $this->ave->open_file($this->ave->get_file_path($this->ave->config->get('AVE_DATA_FOLDER')), ''); + $this->core->open_file($this->core->get_path($this->core->config->get('DATA_FOLDER')), ''); goto query; } - if($save_output) $this->ave->write_data([" ".$query, ""]); + if($save_output) $this->core->write_data([" ".$query, ""]); $sth = $db->query($query); $results = $sth->fetchAll(PDO::FETCH_ASSOC); $last_insert_id = $db->get_connection()->lastInsertId(); if($last_insert_id){ - $this->ave->echo(" Last insert id: $last_insert_id"); - if($save_output) $this->ave->write_data(" Last insert id: $last_insert_id"); + $this->core->echo(" Last insert id: $last_insert_id"); + if($save_output) $this->core->write_data(" Last insert id: $last_insert_id"); } else if(count($results) == 0){ if(substr($lquery, 0, 6) == 'select' || substr($lquery, 0, 4) == 'show'){ - $this->ave->echo(" MySQL returned an empty result"); - if($save_output) $this->ave->write_data(" MySQL returned an empty result"); + $this->core->echo(" MySQL returned an empty result"); + if($save_output) $this->core->write_data(" MySQL returned an empty result"); } else { - $this->ave->echo(" Done"); - if($save_output) $this->ave->write_data(" Done"); + $this->core->echo(" Done"); + if($save_output) $this->core->write_data(" Done"); } } else { $results = $db->results_to_string($results, $ini->get('SAVE_RESULTS_SEPARATOR')); - $this->ave->echo($results); - if($save_output) $this->ave->write_data($results); + $this->core->echo($results); + if($save_output) $this->core->write_data($results); } } catch(PDOException $e){ - $this->ave->echo(" ".$e->getMessage()); - if($save_output) $this->ave->write_data(" ".$e->getMessage()); + $this->core->echo(" ".$e->getMessage()); + if($save_output) $this->core->write_data(" ".$e->getMessage()); } goto query; close_connection: $db->disconnect(); - $this->ave->open_logs(true); - $this->ave->pause(" Connection \"$label\" closed, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Connection \"$label\" closed, press any key to back to menu"); return false; } @@ -1196,24 +1196,24 @@ public function check_config(IniFile $config) : void { public function compress(?string $callback, string $output, string $backup_path, Request $request) : void { if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'COMPRESS_BACKUP_START'], true); - $this->ave->echo(" Compressing backup"); - $this->ave->write_log("Compressing backup"); - $sql = $this->ave->get_file_path("$output/*"); - $cl = $this->ave->config->get('AVE_BACKUP_COMPRESS_LEVEL'); - $at = $this->ave->config->get('AVE_BACKUP_COMPRESS_TYPE'); - $this->ave->exec("7z", "a -mx$cl -t$at \"$output.7z\" \"$sql\""); - $this->ave->echo(); + $this->core->echo(" Compressing backup"); + $this->core->write_log("Compressing backup"); + $sql = $this->core->get_path("$output/*"); + $cl = $this->core->config->get('BACKUP_COMPRESS_LEVEL'); + $at = $this->core->config->get('BACKUP_COMPRESS_TYPE'); + $this->core->exec("7z", "a -mx$cl -t$at \"$output.7z\" \"$sql\""); + $this->core->echo(); if(file_exists("$output.7z")){ if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'COMPRESS_BACKUP_END'], true); - $this->ave->echo(" Compress backup into \"$output.7z\" success"); - $this->ave->write_log("Compress backup into \"$output.7z\" success"); - $this->ave->rrmdir($output); - $this->ave->open_file($backup_path); + $this->core->echo(" Compress backup into \"$output.7z\" success"); + $this->core->write_log("Compress backup into \"$output.7z\" success"); + $this->core->rrmdir($output); + $this->core->open_file($backup_path); } else { if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'COMPRESS_BACKUP_ERROR'], true); - $this->ave->echo(" Compress backup into \"$output.7z\" fail"); - $this->ave->write_log("Compress backup into \"$output.7z\" fail"); - $this->ave->open_file($output); + $this->core->echo(" Compress backup into \"$output.7z\" fail"); + $this->core->write_log("Compress backup into \"$output.7z\" fail"); + $this->core->open_file($output); } } @@ -1222,85 +1222,85 @@ public function backup_selected(string $type, bool $need_lock) : bool { $ftype = $ftype[0]; $stype = strtolower($type); $type = str_replace(" ", "", $type); - $this->ave->clear(); - $this->ave->set_subtool("Backup selected ".$stype); + $this->core->clear(); + $this->core->set_subtool("Backup selected ".$stype); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } $ini = $this->get_config($label); if($ini->get('BACKUP_ADD_LABEL_TO_PATH')){ - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')."/$label"); + $path = $this->core->get_path($ini->get('BACKUP_PATH')."/$label"); } else { - $path = $this->ave->get_file_path($ini->get('BACKUP_PATH')); + $path = $this->core->get_path($ini->get('BACKUP_PATH')); } $callback = $ini->get('BACKUP_CURL_CALLBACK'); $request = new Request(); - if(!$this->ave->is_valid_device($path)){ - $this->ave->echo(" Output device \"$path\" is not available"); + if(!$this->core->is_valid_device($path)){ + $this->core->echo(" Output device \"$path\" is not available"); goto set_label; } if(!is_null($callback)){ - if(!$this->ave->get_confirm(" Toggle website into maintenance (Y/N): ")){ + if(!$this->core->get_confirm(" Toggle website into maintenance (Y/N): ")){ $callback = null; } } if($need_lock){ - $lock_tables = $this->ave->get_confirm(" Lock tables during backup (Y/N): "); + $lock_tables = $this->core->get_confirm(" Lock tables during backup (Y/N): "); } else { $lock_tables = false; } - $compress = $this->ave->get_confirm(" Compress backup (Y/N): "); + $compress = $this->core->get_confirm(" Compress backup (Y/N): "); - $this->ave->print_help([ + $this->core->print_help([ " Type $stype you want to backup, separate with a space", " Use double quotes \" for escape name", ]); - $line = $this->ave->get_input(" Names: "); + $line = $this->core->get_input(" Names: "); if($line == '#') return false; - $items = $this->ave->get_input_folders($line); + $items = $this->core->get_input_folders($line); - $this->ave->write_log("Initialize backup for \"$label\""); - $this->ave->echo(" Initialize backup service"); + $this->core->write_log("Initialize backup for \"$label\""); + $this->core->echo(" Initialize backup service"); $backup = new DataBaseBackup($path, $ini->get('BACKUP_QUERY_LIMIT'), $ini->get('BACKUP_INSERT_LIMIT'), $ini->get('FOLDER_DATE_FORMAT')); $backup->toggle_lock_tables($lock_tables); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_START'], true); - $this->ave->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); if(!$backup->connect($ini->get('DB_HOST'), $ini->get('DB_USER'), $ini->get('DB_PASSWORD'), $ini->get('DB_NAME'), $ini->get('DB_PORT'))) goto set_label; if($ini->get('DB_NAME') == "*" && !$this->select_data_base($backup->get_source(), $backup)) return false; - $this->ave->echo(" Create backup"); + $this->core->echo(" Create backup"); $func = "get".$ftype."s"; $items_in_db = $backup->$func(); $progress = 0; $total = count($items); - $this->ave->set_progress_ex($type, $progress, $total); + $this->core->set_progress_ex($type, $progress, $total); foreach($items as $item){ $progress++; if(in_array($item, $items_in_db)){ - $this->ave->write_log("Create backup for $stype $item"); + $this->core->write_log("Create backup for $stype $item"); if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_START', 'table' => "$stype:$item"], true); $func = "backup".$type; $errors = $backup->$func($item); if(!empty($errors)){ - $this->ave->write_error($errors); + $this->core->write_error($errors); if($ini->get('BACKUP_CURL_SEND_ERRORS')){ $cdata = ['maintenance' => true, 'state' => 'BACKUP_TABLE_ERROR', 'table' => "$stype:$item", 'errors' => $errors]; } else { @@ -1311,13 +1311,13 @@ public function backup_selected(string $type, bool $need_lock) : bool { if(!is_null($callback)) $request->get($callback, ['maintenance' => true, 'state' => 'BACKUP_TABLE_END', 'table' => "$stype:$item"], true); } } else { - $this->ave->echo(" $type: $item not exists, skipping"); - $this->ave->write_error("Create backup for $stype $item failed, $stype not exists"); + $this->core->echo(" $type: $item not exists, skipping"); + $this->core->write_error("Create backup for $stype $item failed, $stype not exists"); } - $this->ave->set_progress_ex($type, $progress, $total); + $this->core->set_progress_ex($type, $progress, $total); } - $this->ave->echo(); - $this->ave->write_log("Finish backup for \"$label\""); + $this->core->echo(); + $this->core->write_log("Finish backup for \"$label\""); if(!is_null($callback)) $request->get($callback, ['maintenance' => false, 'state' => 'BACKUP_END'], true); $backup->disconnect(); @@ -1325,42 +1325,42 @@ public function backup_selected(string $type, bool $need_lock) : bool { if($compress){ $this->compress($callback, $output, $ini->get('BACKUP_PATH'), $request); } else { - $this->ave->open_file($output); + $this->core->open_file($output); } - $this->ave->open_logs(true); - $this->ave->pause(" Backup for \"$label\" done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Backup for \"$label\" done, press any key to back to menu"); return false; } public function tool_fetch_data_base_info() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Fetch data base info"); + $this->core->clear(); + $this->core->set_subtool("Fetch data base info"); $this->get_select_label(); set_label: - $label = $this->ave->get_input(" Label / ID: "); + $label = $this->core->get_input(" Label / ID: "); if($label == '#') return false; if(isset($this->select_label[$label])) $label = $this->select_label[$label]; - if(!$this->ave->is_valid_label($label)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($label)){ + $this->core->echo(" Invalid label"); goto set_label; } if(!file_exists($this->get_config_path($label))){ - $this->ave->echo(" Label \"$label\" not exists"); + $this->core->echo(" Label \"$label\" not exists"); goto set_label; } $ini = $this->get_config($label); $db = new MySQL(); - $this->ave->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini->get('DB_HOST').":".$ini->get('DB_PORT')."@".$ini->get('DB_USER')); if(!$db->connect($ini->get('DB_HOST'), $ini->get('DB_USER'), $ini->get('DB_PASSWORD'), $ini->get('DB_NAME'), $ini->get('DB_PORT'))) goto set_label; if($ini->get('DB_NAME') == "*" && !$this->select_data_base($db->get_connection())) return false; $separator = $ini->get('SAVE_RESULTS_SEPARATOR'); - $this->ave->write_data(str_replace("|", $separator, "Table|Engine|Collation|Rows|Data size|Data size (Bytes)|Index size|Index size (Bytes)|Row format")); + $this->core->write_data(str_replace("|", $separator, "Table|Engine|Collation|Rows|Data size|Data size (Bytes)|Index size|Index size (Bytes)|Row format")); $db_name = $db->get_data_base(); @@ -1372,65 +1372,65 @@ public function tool_fetch_data_base_info() : bool { $items = $db->query("SELECT * FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '$db_name'", PDO::FETCH_OBJ); foreach($items as $item){ - $data_size = $this->ave->format_bytes(intval($item->DATA_LENGTH)); - $index_size = $this->ave->format_bytes(intval($item->INDEX_LENGTH)); - $this->ave->write_data(str_replace("|", $separator, "$item->TABLE_NAME|$item->ENGINE|$item->TABLE_COLLATION|$item->TABLE_ROWS|$data_size|$item->DATA_LENGTH|$index_size|$item->INDEX_LENGTH|$item->ROW_FORMAT")); + $data_size = $this->core->format_bytes(intval($item->DATA_LENGTH)); + $index_size = $this->core->format_bytes(intval($item->INDEX_LENGTH)); + $this->core->write_data(str_replace("|", $separator, "$item->TABLE_NAME|$item->ENGINE|$item->TABLE_COLLATION|$item->TABLE_ROWS|$data_size|$item->DATA_LENGTH|$index_size|$item->INDEX_LENGTH|$item->ROW_FORMAT")); } $db->disconnect(); - $this->ave->open_logs(true); - $this->ave->pause(" Connection \"$label\" closed, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Connection \"$label\" closed, press any key to back to menu"); return false; } public function tool_compare_data_base_info() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Compare data base info"); + $this->core->clear(); + $this->core->set_subtool("Compare data base info"); $this->get_select_label(); set_label_source: - $source = $this->ave->get_input(" Source label / ID: "); + $source = $this->core->get_input(" Source label / ID: "); if($source == '#') return false; if(isset($this->select_label[$source])) $source = $this->select_label[$source]; - if(!$this->ave->is_valid_label($source)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($source)){ + $this->core->echo(" Invalid label"); goto set_label_source; } if(!file_exists($this->get_config_path($source))){ - $this->ave->echo(" Source label \"$source\" not exists"); + $this->core->echo(" Source label \"$source\" not exists"); goto set_label_source; } $db_source = new MySQL(); $ini_source = $this->get_config($source); - $this->ave->echo(" Connecting to: ".$ini_source->get('DB_HOST').":".$ini_source->get('DB_PORT')."@".$ini_source->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini_source->get('DB_HOST').":".$ini_source->get('DB_PORT')."@".$ini_source->get('DB_USER')); if(!$db_source->connect($ini_source->get('DB_HOST'), $ini_source->get('DB_USER'), $ini_source->get('DB_PASSWORD'), $ini_source->get('DB_NAME'), $ini_source->get('DB_PORT'))) goto set_label_source; if($ini_source->get('DB_NAME') == "*" && !$this->select_data_base($db_source->get_connection())) return false; set_label_destination: - $destination = $this->ave->get_input(" Destination label: "); + $destination = $this->core->get_input(" Destination label: "); if($destination == '#') return false; if(isset($this->select_label[$destination])) $destination = $this->select_label[$destination]; - if(!$this->ave->is_valid_label($destination)){ - $this->ave->echo(" Invalid label"); + if(!$this->core->is_valid_label($destination)){ + $this->core->echo(" Invalid label"); goto set_label_destination; } if(!file_exists($this->get_config_path($destination))){ - $this->ave->echo(" Destination label \"$destination\" not exists"); + $this->core->echo(" Destination label \"$destination\" not exists"); goto set_label_destination; } if($source == $destination){ - $this->ave->echo(" Destination label must be different than source label"); + $this->core->echo(" Destination label must be different than source label"); goto set_label_destination; } $db_destination = new MySQL(); $ini_destination = $this->get_config($destination); - $this->ave->echo(" Connecting to: ".$ini_destination->get('DB_HOST').":".$ini_destination->get('DB_PORT')."@".$ini_destination->get('DB_USER')); + $this->core->echo(" Connecting to: ".$ini_destination->get('DB_HOST').":".$ini_destination->get('DB_PORT')."@".$ini_destination->get('DB_USER')); if(!$db_destination->connect($ini_destination->get('DB_HOST'), $ini_destination->get('DB_USER'), $ini_destination->get('DB_PASSWORD'), $ini_destination->get('DB_NAME'), $ini_destination->get('DB_PORT'))) goto set_label_destination; if($ini_destination->get('DB_NAME') == "*" && !$this->select_data_base($db_destination->get_connection())) return false; @@ -1438,7 +1438,7 @@ public function tool_compare_data_base_info() : bool { $info_dest = []; $db_name = $db_source->get_data_base(); - $this->ave->echo(" Fetch data base info for \"$source\""); + $this->core->echo(" Fetch data base info for \"$source\""); $items = $db_source->query("SHOW FULL TABLES WHERE TABLE_TYPE LIKE 'BASE TABLE'", PDO::FETCH_OBJ); foreach($items as $item){ $table = $item->{"Tables_in_$db_name"}; @@ -1461,7 +1461,7 @@ public function tool_compare_data_base_info() : bool { $table = $item->{"Tables_in_$db_name"}; $db_destination->query("ANALYZE TABLE `$table`"); } - $this->ave->echo(" Fetch data base info for \"$destination\""); + $this->core->echo(" Fetch data base info for \"$destination\""); $items = $db_destination->query("SELECT * FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '$db_name'", PDO::FETCH_OBJ); foreach($items as $item){ $info_dest[$item->TABLE_NAME]['engine'] = $item->ENGINE; @@ -1473,8 +1473,8 @@ public function tool_compare_data_base_info() : bool { } $db_destination->disconnect(); - $this->ave->echo(" Check data base info differences"); - $this->ave->write_data([ + $this->core->echo(" Check data base info differences"); + $this->core->write_data([ "Data base info differences", "Source: ".$ini_source->get('DB_HOST').":".$ini_source->get('DB_PORT')."@".$ini_source->get('DB_USER'), "Destination: ".$ini_destination->get('DB_HOST').":".$ini_destination->get('DB_PORT')."@".$ini_destination->get('DB_USER'), @@ -1503,10 +1503,10 @@ public function tool_compare_data_base_info() : bool { array_push($errors['rows'], "Table \"$table_name\" rows count are different. Source: ".$info_source[$table_name]['rows']." Destination: ".$info_dest[$table_name]['rows']); } if($info_source[$table_name]['data_size'] != $info_dest[$table_name]['data_size']){ - array_push($errors['data_size'], "Table \"$table_name\" data size are different. Source: ".$this->ave->format_bytes($info_source[$table_name]['data_size'])." (".$info_source[$table_name]['data_size'].") Destination: ".$this->ave->format_bytes($info_dest[$table_name]['data_size'])." (".$info_dest[$table_name]['data_size'].")"); + array_push($errors['data_size'], "Table \"$table_name\" data size are different. Source: ".$this->core->format_bytes($info_source[$table_name]['data_size'])." (".$info_source[$table_name]['data_size'].") Destination: ".$this->core->format_bytes($info_dest[$table_name]['data_size'])." (".$info_dest[$table_name]['data_size'].")"); } if($info_source[$table_name]['index_size'] != $info_dest[$table_name]['index_size']){ - array_push($errors['index_size'], "Table \"$table_name\" index size are different. Source: ".$this->ave->format_bytes($info_source[$table_name]['index_size'])." (".$info_source[$table_name]['index_size'].") Destination: ".$this->ave->format_bytes($info_dest[$table_name]['index_size'])." (".$info_dest[$table_name]['index_size'].")"); + array_push($errors['index_size'], "Table \"$table_name\" index size are different. Source: ".$this->core->format_bytes($info_source[$table_name]['index_size'])." (".$info_source[$table_name]['index_size'].") Destination: ".$this->core->format_bytes($info_dest[$table_name]['index_size'])." (".$info_dest[$table_name]['index_size'].")"); } if($info_source[$table_name]['row_format'] != $info_dest[$table_name]['row_format']){ array_push($errors['row_format'], "Table \"$table_name\" row format are different. Source: ".$info_source[$table_name]['row_format']." Destination: ".$info_dest[$table_name]['row_format']); @@ -1515,11 +1515,11 @@ public function tool_compare_data_base_info() : bool { } foreach($errors as $error_data){ - if(!empty($error_data)) $this->ave->write_data($error_data); + if(!empty($error_data)) $this->core->write_data($error_data); } - $this->ave->open_logs(true); - $this->ave->pause(" Comparison \"$source\" to \"$destination\" done, press any key to back to menu"); + $this->core->open_logs(true); + $this->core->pause(" Comparison \"$source\" to \"$destination\" done, press any key to back to menu"); return false; } diff --git a/includes/ngc/tools/Settings.php b/includes/ngc/tools/Settings.php new file mode 100644 index 0000000..183490c --- /dev/null +++ b/includes/ngc/tools/Settings.php @@ -0,0 +1,161 @@ +core = $core; + $this->core->set_tool($this->name); + } + + public function help() : void { + $this->core->print_help([ + ' Actions:', + ' 0 - Show documentation', + ' 1 - Open config folder', + ' 2 - Open logs folder', + ' 3 - Open data folder', + ' 4 - Open program folder', + ' 5 - Check for updates', + ' 6 - Restore default settings', + ' 7 - Install .ngcs script support (Windows)', + ]); + } + + public function action(string $action) : bool { + $this->params = []; + $this->action = $action; + switch($this->action){ + case '0': return $this->tool_show_documentation(); + case '1': return $this->tool_open_config_folder(); + case '2': return $this->tool_open_logs_folder(); + case '3': return $this->tool_open_data_folder(); + case '4': return $this->tool_open_program_folder(); + case '5': return $this->tool_check_for_updates(); + case '6': return $this->tool_restore_default_settings(); + case '7': return $this->tool_install_toolkit_script(); + } + return false; + } + + public function tool_show_documentation() : bool { + $this->core->clear(); + $this->core->open_url("https://github.com/AbyssMorgan/NGC-TOOLKIT/wiki"); + return false; + } + + public function tool_open_config_folder() : bool { + $this->core->clear(); + $this->core->open_file($this->core->app_data, ""); + return false; + } + + public function tool_open_logs_folder() : bool { + $this->core->clear(); + $this->core->open_file($this->core->get_path($this->core->config->get('LOG_FOLDER')), ""); + return false; + } + + public function tool_open_data_folder() : bool { + $this->core->clear(); + $this->core->open_file($this->core->get_path($this->core->config->get('DATA_FOLDER')), ""); + return false; + } + + public function tool_open_program_folder() : bool { + $this->core->clear(); + $this->core->open_file($this->core->get_path("{$this->core->path}/.."), ""); + return false; + } + + public function tool_check_for_updates(bool $response = true) : bool { + $this->core->clear(); + $this->core->echo(" Check for updates ..."); + $version = ''; + if($this->check_for_updates($version)){ + $this->core->echo(" Update available v$version current v".$this->core->version); + if($this->core->get_confirm(" Open download website now (Y/N): ")){ + $this->core->open_url("https://github.com/AbyssMorgan/NGC-TOOLKIT/releases/tag/v$version"); + } + } else if($response){ + $this->core->echo(" No updates available"); + $this->core->pause(); + } + return false; + } + + public function tool_restore_default_settings() : bool { + $this->core->clear(); + if($this->core->get_confirm(" Restore default settings (Y/N): ")){ + $config_default = new IniFile($this->core->get_path($this->core->path."/includes/config/default.ini"), true); + if($this->core->windows){ + $config_default_system = new IniFile($this->core->get_path($this->core->path."/includes/config/windows.ini"), true); + } else { + $config_default_system = new IniFile($this->core->get_path($this->core->path."/includes/config/linux.ini"), true); + } + $config_default->update($config_default_system->get_all()); + $this->core->config->update($config_default->get_all(), true); + $this->core->echo(" Settings have been reset"); + } else { + $this->core->echo(" Settings reset has been cancelled"); + } + $this->core->pause(" Operation done, press any key to back to menu"); + return false; + } + + public function check_for_updates(string &$version) : bool { + $request = new Request(false); + $response = $request->get("https://raw.githubusercontent.com/AbyssMorgan/NGC-TOOLKIT/master/version"); + if($response['code'] == 200){ + $ver_current = explode(".", $this->core->version); + $ver_repo = explode(".", $response['data']); + $ver_current = intval($ver_current[0])*10000 + intval($ver_current[1])*100 + intval($ver_current[2]); + $ver_repo = intval($ver_repo[0])*10000 + intval($ver_repo[1])*100 + intval($ver_repo[2]); + $version = strval($response['data']); + return ($ver_repo > $ver_current); + } + $this->core->echo(" Failed check for updates: ".$response['code']); + return false; + } + + public function tool_install_toolkit_script() : bool { + $this->core->clear(); + $program_path = realpath($this->core->get_path($this->core->path)); + if(!$this->core->windows){ + $this->core->echo(" This feature is available only on windows operating system."); + $this->core->echo(" Use command: /usr/bin/php8.3 \"$program_path/includes/script.php\" [...]"); + $this->core->pause(" Press any key to back to menu"); + } else if(!$this->core->is_admin()){ + $this->core->echo(" You must run ".$this->core->app_name." as administrator to use this feature"); + $this->core->pause(" Press any key to back to menu"); + } else { + if($this->core->get_confirm(" Install .ngcs scripts support (Y/N): ")){ + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\.ngcs /ve /d "NGC.SCRIPT" /f')); + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\NGC.SCRIPT /ve /d "'.$this->core->app_name.' Script" /f')); + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\NGC.SCRIPT\DefaultIcon /ve /d "\"'.$program_path.'\NGC-TOOLKIT.ico\"" /f')); + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\NGC.SCRIPT\shell /f')); + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\NGC.SCRIPT\shell\open /f')); + $this->core->echo(" ".exec('reg add HKEY_CLASSES_ROOT\NGC.SCRIPT\shell\open\command /ve /d "\"'.$program_path.'\bin\Script.cmd\" \"%1\" %*" /f')); + $this->core->pause(" Operation done, press any key to back to menu"); + } else { + $this->core->pause(" Operation aborted, press any key to back to menu"); + } + } + return false; + } + +} + +?> diff --git a/includes/programs/Script.php b/includes/programs/Script.php new file mode 100644 index 0000000..1ea4cf1 --- /dev/null +++ b/includes/programs/Script.php @@ -0,0 +1,122 @@ +abort) return; + $config_default = new IniFile($this->get_path("$this->path/includes/config/default.ini"), true); + if($this->windows){ + dl('php_imagick.dll'); + dl('php_exif.dll'); + $config_default_system = new IniFile($this->get_path("$this->path/includes/config/windows.ini"), true); + $old_app_data = $this->get_path($this->get_variable("%LOCALAPPDATA%")."/AVE-PHP"); + $this->app_data = $this->get_path($this->get_variable("%LOCALAPPDATA%")."/NGC-TOOLKIT"); + if(file_exists($old_app_data) && !file_exists($this->app_data)) rename($old_app_data, $this->app_data); + } else { + $config_default_system = new IniFile($this->get_path("$this->path/includes/config/linux.ini"), true); + $this->app_data = $this->get_path("/etc/NGC-TOOLKIT"); + $open_file_binary = null; + $variants = ['xdg-open', 'nautilus', 'dolphin']; + foreach($variants as $variant){ + if(file_exists("/usr/bin/$variant")){ + $open_file_binary = $variant; + } + } + $config_default_system->set('OPEN_FILE_BINARY', $open_file_binary); + } + + $config_default->update($config_default_system->get_all()); + + $this->logo = ''; + $changed = false; + + $path_config_toolkit = $this->get_path("$this->app_data/config.ini"); + + if(!file_exists($this->app_data)) mkdir($this->app_data); + + $path_config_mysql = $this->get_path("$this->app_data/MySQL"); + if(!file_exists($path_config_mysql)) mkdir($path_config_mysql); + + $path_config_ftp = $this->get_path("$this->app_data/FTP"); + if(!file_exists($path_config_ftp)) mkdir($path_config_ftp); + + $this->config = new IniFile($path_config_toolkit, true); + $this->mkvmerge = new IniFile($this->get_path("$this->path/includes/config/mkvmerge.ini"), true); + $this->storage = new AppStorage($this); + $this->media = new MediaFunctions($this); + + foreach($config_default->get_all() as $key => $value){ + if(!$this->config->is_set($key)){ + $this->config->set($key, $value); + $changed = true; + } + } + + foreach($this->config->all_except(['APP_NEXT_CHECK_FOR_UPDATE', 'APP_VERSION']) as $key => $value){ + if(!$config_default->is_set($key)){ + $this->config->unset($key); + $changed = true; + } + } + + if($this->windows) popen('color '.$this->config->get('COLOR'), 'w'); + + if($changed){ + $this->config->save(); + } + $keys = [ + 'LOG_FOLDER', + 'DATA_FOLDER', + 'BUFFER_FOLDER', + ]; + foreach($keys as $key){ + $this->config->set($key, $this->get_variable($this->config->get($key))); + if(!$this->is_valid_device($this->config->get($key))){ + $this->config->set($key, $this->get_variable($config_default->get($key))); + } + } + + $config_default->close(); + + $this->init_logs(); + + $this->app_buffer = new AppBuffer($this->get_path($this->config->get('BUFFER_FOLDER'))); + ini_set('memory_limit', -1); + } + + public function execute() : void { + array_unshift($this->arguments, $this->command); + $path = $this->command; + if(empty($path) || !file_exists($path)){ + $this->echo(" File \"$path\" not exists"); + } else { + $console = new Console($this); + $console->execute($path); + $this->exit(0, false); + } + } + +} + +?> diff --git a/includes/AVE.php b/includes/programs/Toolkit.php similarity index 59% rename from includes/AVE.php rename to includes/programs/Toolkit.php index 17cc77e..2489d9a 100644 --- a/includes/AVE.php +++ b/includes/programs/Toolkit.php @@ -2,53 +2,53 @@ declare(strict_types=1); -use AveCore\Core; -use AveCore\IniFile; -use AveCore\AppBuffer; +use NGC\Core\Core; +use NGC\Core\IniFile; +use NGC\Core\AppBuffer; -use App\Tools\AdmFileConverter; -use App\Tools\AveConsole; -use App\Tools\AveSettings; -use App\Tools\CheckFileIntegrity; -use App\Tools\DirectoryFunctions; -use App\Tools\DirectoryNamesEditor; -use App\Tools\FileEditor; -use App\Tools\FileFunctions; -use App\Tools\FileNamesEditor; -use App\Tools\FtpTools; -use App\Tools\MediaSorter; -use App\Tools\MediaTools; -use App\Tools\MySQLTools; +use NGC\Extensions\AppStorage; +use NGC\Extensions\MediaFunctions; -class AVE extends Core { +use NGC\Tools\AdmFileConverter; +use NGC\Tools\Settings; +use NGC\Tools\CheckFileIntegrity; +use NGC\Tools\DirectoryFunctions; +use NGC\Tools\DirectoryNamesEditor; +use NGC\Tools\FileEditor; +use NGC\Tools\FileFunctions; +use NGC\Tools\FileNamesEditor; +use NGC\Tools\FtpTools; +use NGC\Tools\MediaSorter; +use NGC\Tools\MediaTools; +use NGC\Tools\MySQLTools; + +class Toolkit extends Core { public IniFile $mkvmerge; public AppBuffer $app_buffer; public string $app_data; public bool $abort = false; - public string $app_name = "AVE-PHP"; - public string $version = "2.2.5"; - - private array $folders_to_scan = [ - 'bin', - 'includes', - 'commands', - ]; + public string $app_name = "NGC-TOOLKIT"; + public string $version = "2.3.0"; + public AppStorage $storage; + public MediaFunctions $media; public function __construct(array $arguments){ parent::__construct($arguments, true); if($this->abort) return; - $config_default = new IniFile($this->get_file_path("$this->path/includes/config/default.ini"), true); + $config_default = new IniFile($this->get_path("$this->path/includes/config/default.ini"), true); if($this->windows){ dl('php_imagick.dll'); dl('php_exif.dll'); - $config_default_system = new IniFile($this->get_file_path("$this->path/includes/config/windows.ini"), true); - $old_app_data = $this->get_file_path($this->get_variable("%LOCALAPPDATA%")."/AVE"); - $this->app_data = $this->get_file_path($this->get_variable("%LOCALAPPDATA%")."/AVE-PHP"); - if(file_exists($old_app_data) && !file_exists($this->app_data)) rename($old_app_data, $this->app_data); + $config_default_system = new IniFile($this->get_path("$this->path/includes/config/windows.ini"), true); + $old_app_data = $this->get_path($this->get_variable("%LOCALAPPDATA%")."/AVE-PHP"); + $this->app_data = $this->get_path($this->get_variable("%LOCALAPPDATA%")."/NGC-TOOLKIT"); + if(file_exists($old_app_data) && !file_exists($this->app_data)){ + rename($old_app_data, $this->app_data); + } } else { - $config_default_system = new IniFile($this->get_file_path("$this->path/includes/config/linux.ini"), true); - $this->app_data = $this->get_file_path("/etc/AVE-PHP"); + $config_default_system = new IniFile($this->get_path("$this->path/includes/config/linux.ini"), true); + $this->app_data = $this->get_path("/etc/NGC-TOOLKIT"); $open_file_binary = null; $variants = ['xdg-open', 'nautilus', 'dolphin']; foreach($variants as $variant){ @@ -56,31 +56,28 @@ public function __construct(array $arguments){ $open_file_binary = $variant; } } - $config_default_system->set('AVE_OPEN_FILE_BINARY', $open_file_binary); + $config_default_system->set('OPEN_FILE_BINARY', $open_file_binary); } $config_default->update($config_default_system->get_all()); - $this->logo = "\r\n $this->app_name Toolkit v$this->version by Abyss Morgan\r\n"; + $this->logo = "\r\n $this->app_name v$this->version by Abyss Morgan\r\n"; $changed = false; - $path_config_ave = $this->get_file_path("$this->app_data/config.ini"); - $path_config_mysql = $this->get_file_path("$this->app_data/MySQL"); - $path_config_ftp = $this->get_file_path("$this->app_data/FTP"); - + $path_config_toolkit = $this->get_path("$this->app_data/config.ini"); + if(!file_exists($this->app_data)) mkdir($this->app_data); + + $path_config_mysql = $this->get_path("$this->app_data/MySQL"); if(!file_exists($path_config_mysql)) mkdir($path_config_mysql); + + $path_config_ftp = $this->get_path("$this->app_data/FTP"); if(!file_exists($path_config_ftp)) mkdir($path_config_ftp); - $this->config = new IniFile($path_config_ave, true); - $this->mkvmerge = new IniFile($this->get_file_path("$this->path/includes/config/mkvmerge.ini"), true); - - if($this->get_version_number($this->config->get('APP_VERSION','0.0.0')) < 10900){ - $this->config->unset(['AVE_EXTENSIONS_VIDEO_FOLLOW']); - } - if($this->get_version_number($this->config->get('APP_VERSION','0.0.0')) < 20200){ - $this->config->unset(['AVE_DATA_FOLDER','AVE_LOG_FOLDER','AVE_BUFFER_FOLDER']); - } + $this->config = new IniFile($path_config_toolkit, true); + $this->mkvmerge = new IniFile($this->get_path("$this->path/includes/config/mkvmerge.ini"), true); + $this->storage = new AppStorage($this); + $this->media = new MediaFunctions($this); foreach($config_default->get_all() as $key => $value){ if(!$this->config->is_set($key)){ @@ -96,7 +93,7 @@ public function __construct(array $arguments){ } } - if($this->windows) popen('color '.$this->config->get('AVE_COLOR'), 'w'); + if($this->windows) popen('color '.$this->config->get('COLOR'), 'w'); $check_for_updates = false; if($this->command == '--interactive'){ @@ -104,21 +101,21 @@ public function __construct(array $arguments){ $this->config->set('APP_VERSION', $this->version); $changed = true; } - if($this->config->get('AVE_CHECK_FOR_UPDATES')){ + if($this->config->get('CHECK_FOR_UPDATES')){ $next_check_update = $this->config->get('APP_NEXT_CHECK_FOR_UPDATE', date("U") - 3600); if(date("U") >= $next_check_update){ - $this->config->set('APP_NEXT_CHECK_FOR_UPDATE', date("U") + 86400 * $this->config->get('AVE_CHECK_FOR_UPDATES_DAYS')); + $this->config->set('APP_NEXT_CHECK_FOR_UPDATE', date("U") + 86400 * $this->config->get('CHECK_FOR_UPDATES_DAYS')); $changed = true; $check_for_updates = true; } } $files = [ - $this->get_file_path($this->get_variable("%PROGRAMFILES%")."/AVE-UTILITIES/main"), - $this->get_file_path($this->get_variable("%PROGRAMFILES%")."/AVE-UTILITIES/php/8.1"), + $this->get_path($this->get_variable("%PROGRAMFILES%")."/NGC-UTILITIES/main"), + $this->get_path($this->get_variable("%PROGRAMFILES%")."/NGC-UTILITIES/php/8.1"), ]; - $items = $this->get_folders_ex($this->get_file_path($this->get_variable("%PROGRAMFILES%")."/AVE-UTILITIES/core")); + $items = $this->get_folders_ex($this->get_path($this->get_variable("%PROGRAMFILES%")."/NGC-UTILITIES/core")); foreach($items as $item){ if(pathinfo($item, PATHINFO_BASENAME) != $this->utilities_version) array_push($files, $item); } @@ -127,7 +124,7 @@ public function __construct(array $arguments){ if(!file_exists($file)) continue; if(!$this->is_admin()){ $this->echo(); - $this->echo(" Please run once AVE-PHP as administrator for remove old AVE-UTILITIES files"); + $this->echo(" Please run once NGC-TOOLKIT as administrator for remove old NGC-UTILITIES files"); $this->echo(); $this->pause(); $this->exit(0, false); @@ -135,7 +132,7 @@ public function __construct(array $arguments){ } $this->rrmdir($file, false); if(strpos($file, "php") !== false){ - $this->delete($this->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_BASENAME).".ini"), false); + $this->delete($this->get_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_BASENAME).".ini"), false); } } } @@ -143,9 +140,9 @@ public function __construct(array $arguments){ $this->config->save(); } $keys = [ - 'AVE_LOG_FOLDER', - 'AVE_DATA_FOLDER', - 'AVE_BUFFER_FOLDER', + 'LOG_FOLDER', + 'DATA_FOLDER', + 'BUFFER_FOLDER', ]; foreach($keys as $key){ $this->config->set($key, $this->get_variable($this->config->get($key))); @@ -158,17 +155,17 @@ public function __construct(array $arguments){ $this->init_logs(); - $this->app_buffer = new AppBuffer($this->get_file_path($this->config->get('AVE_BUFFER_FOLDER'))); + $this->app_buffer = new AppBuffer($this->get_path($this->config->get('BUFFER_FOLDER'))); ini_set('memory_limit', -1); - $dev = file_exists($this->get_file_path("$this->path/.git")); + $dev = file_exists($this->get_path("$this->path/.git")); if($dev){ if(file_get_contents("$this->path/version") != $this->version){ file_put_contents("$this->path/version", $this->version); } } if($check_for_updates && !$dev){ - $this->tool = new AveSettings($this); + $this->tool = new Settings($this); $this->tool->tool_check_for_updates(false); } } @@ -184,11 +181,6 @@ public function execute() : void { } break; } - case '--sort-settings': { - $config = new IniFile("$this->path/includes/config/default.ini", true); - $config->save(); - break; - } case '--interactive': { $this->can_exit = false; while(!$this->abort){ @@ -197,18 +189,6 @@ public function execute() : void { $this->exit(0, false); break; } - case '--script': { - $this->logo = ''; - $path = $this->arguments[0] ?? ''; - if(empty($path) || !file_exists($path)){ - $this->echo(" File \"$path\" not exists"); - } else { - $this->tool = new AveConsole($this); - $this->tool->execute($path); - $this->exit(0, false); - } - break; - } default: { $this->echo("Unknown command: \"$this->command\""); break; @@ -287,7 +267,7 @@ public function select_tool() : bool { break; } case 'H': { - $this->tool = new AveSettings($this); + $this->tool = new Settings($this); break; } case '#': { diff --git a/includes/script.php b/includes/script.php new file mode 100644 index 0000000..31a8f3a --- /dev/null +++ b/includes/script.php @@ -0,0 +1,37 @@ +getMessage()."\r\n".$e->getFile().':'.$e->getLine()."\r\n".$e->getTraceAsString()."\r\n\r\n"; + echo $error."ABORT, PRESS ANY KEY TO EXIT\r\n"; + try { + file_put_contents('NGC-SCRIPT-CRASH-'.date('Y-m-d His').'.txt', $error); + } + catch(Exception $e){ + + } + if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') system("PAUSE > nul"); + }); + + require __DIR__.'/../vendor/autoload.php'; + + $includes_path = __DIR__; + + $includes_list_file = "$includes_path/includes.lst"; + if(!file_exists($includes_list_file)) throw new Exception("File not exists includes.lst"); + + $file = fopen($includes_list_file, "r"); + if(!$file) throw new Exception("Failed open includes.lst"); + while(($line = fgets($file)) !== false){ + $name = trim($line); + require_once "$includes_path/$name"; + } + fclose($file); + + require_once "$includes_path/ngc/extensions/Console.php"; + require_once "$includes_path/programs/Script.php"; + + $script = new Script($argv); + $script->execute(); +?> diff --git a/includes/toolkit.php b/includes/toolkit.php new file mode 100644 index 0000000..f4b581a --- /dev/null +++ b/includes/toolkit.php @@ -0,0 +1,46 @@ +getMessage()."\r\n".$e->getFile().':'.$e->getLine()."\r\n".$e->getTraceAsString()."\r\n\r\n"; + echo $error."ABORT, PRESS ANY KEY TO EXIT\r\n"; + if(file_exists('.git')){ + file_put_contents('NGC-TOOLKIT-CRASH-'.date('Y-m-d His').'.txt', $error); + } + if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') system("PAUSE > nul"); + }); + + require __DIR__.'/../vendor/autoload.php'; + + $includes_path = __DIR__; + + $includes_list_file = "$includes_path/includes.lst"; + if(!file_exists($includes_list_file)) throw new Exception("File not exists includes.lst"); + + $file = fopen($includes_list_file, "r"); + if(!$file) throw new Exception("Failed open includes.lst"); + while(($line = fgets($file)) !== false){ + $name = trim($line); + require_once "$includes_path/$name"; + } + fclose($file); + + require_once "$includes_path/programs/Toolkit.php"; + + require_once "$includes_path/ngc/tools/AdmFileConverter.php"; + require_once "$includes_path/ngc/tools/Settings.php"; + require_once "$includes_path/ngc/tools/CheckFileIntegrity.php"; + require_once "$includes_path/ngc/tools/DirectoryFunctions.php"; + require_once "$includes_path/ngc/tools/DirectoryNamesEditor.php"; + require_once "$includes_path/ngc/tools/FileEditor.php"; + require_once "$includes_path/ngc/tools/FileFunctions.php"; + require_once "$includes_path/ngc/tools/FileNamesEditor.php"; + require_once "$includes_path/ngc/tools/FtpTools.php"; + require_once "$includes_path/ngc/tools/MediaSorter.php"; + require_once "$includes_path/ngc/tools/MediaTools.php"; + require_once "$includes_path/ngc/tools/MySQLTools.php"; + + $toolkit = new Toolkit($argv); + if(!$toolkit->abort) $toolkit->execute(); +?> diff --git a/includes/tools/AveConsole.php b/includes/tools/AveConsole.php deleted file mode 100644 index fcd9aff..0000000 --- a/includes/tools/AveConsole.php +++ /dev/null @@ -1,31 +0,0 @@ -ave = $ave; - } - - public function execute(string $path) : bool { - $this->ave->title($path); - $this->script = $path; - $this->path = pathinfo($path, PATHINFO_DIRNAME); - chdir($this->path); - eval(str_replace(["?>", "ave->path); - return true; - } - -} - -?> diff --git a/includes/tools/AveSettings.php b/includes/tools/AveSettings.php deleted file mode 100644 index e471db0..0000000 --- a/includes/tools/AveSettings.php +++ /dev/null @@ -1,161 +0,0 @@ -ave = $ave; - $this->ave->set_tool($this->name); - } - - public function help() : void { - $this->ave->print_help([ - ' Actions:', - ' 0 - Show documentation', - ' 1 - Open config folder', - ' 2 - Open logs folder', - ' 3 - Open data folder', - ' 4 - Open program folder', - ' 5 - Check for updates', - ' 6 - Restore default settings', - ' 7 - Install .ave-php script support (Windows)', - ]); - } - - public function action(string $action) : bool { - $this->params = []; - $this->action = $action; - switch($this->action){ - case '0': return $this->tool_show_documentation(); - case '1': return $this->tool_open_config_folder(); - case '2': return $this->tool_open_logs_folder(); - case '3': return $this->tool_open_data_folder(); - case '4': return $this->tool_open_program_folder(); - case '5': return $this->tool_check_for_updates(); - case '6': return $this->tool_restore_default_settings(); - case '7': return $this->tool_install_ave_php_script(); - } - return false; - } - - public function tool_show_documentation() : bool { - $this->ave->clear(); - $this->ave->open_url("https://github.com/AbyssMorgan/AVE-PHP/wiki"); - return false; - } - - public function tool_open_config_folder() : bool { - $this->ave->clear(); - $this->ave->open_file($this->ave->app_data, ""); - return false; - } - - public function tool_open_logs_folder() : bool { - $this->ave->clear(); - $this->ave->open_file($this->ave->get_file_path($this->ave->config->get('AVE_LOG_FOLDER')), ""); - return false; - } - - public function tool_open_data_folder() : bool { - $this->ave->clear(); - $this->ave->open_file($this->ave->get_file_path($this->ave->config->get('AVE_DATA_FOLDER')), ""); - return false; - } - - public function tool_open_program_folder() : bool { - $this->ave->clear(); - $this->ave->open_file($this->ave->get_file_path($this->ave->path."/.."), ""); - return false; - } - - public function tool_check_for_updates(bool $response = true) : bool { - $this->ave->clear(); - $this->ave->echo(" Check for updates ..."); - $version = ''; - if($this->check_for_updates($version)){ - $this->ave->echo(" Update available v$version current v".$this->ave->version); - if($this->ave->get_confirm(" Open download website now (Y/N): ")){ - $this->ave->open_url("https://github.com/AbyssMorgan/AVE-PHP/releases/tag/v$version"); - } - } else if($response){ - $this->ave->echo(" No updates available"); - $this->ave->pause(); - } - return false; - } - - public function tool_restore_default_settings() : bool { - $this->ave->clear(); - if($this->ave->get_confirm(" Restore default settings (Y/N): ")){ - $config_default = new IniFile($this->ave->get_file_path($this->ave->path."/includes/config/default.ini"), true); - if($this->ave->windows){ - $config_default_system = new IniFile($this->ave->get_file_path($this->ave->path."/includes/config/windows.ini"), true); - } else { - $config_default_system = new IniFile($this->ave->get_file_path($this->ave->path."/includes/config/linux.ini"), true); - } - $config_default->update($config_default_system->get_all()); - $this->ave->config->update($config_default->get_all(), true); - $this->ave->echo(" Settings have been reset"); - } else { - $this->ave->echo(" Settings reset has been cancelled"); - } - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function check_for_updates(string &$version) : bool { - $request = new Request(false); - $response = $request->get("https://raw.githubusercontent.com/AbyssMorgan/AVE-PHP/master/version"); - if($response['code'] == 200){ - $ver_current = explode(".", $this->ave->version); - $ver_repo = explode(".", $response['data']); - $ver_current = intval($ver_current[0])*10000 + intval($ver_current[1])*100 + intval($ver_current[2]); - $ver_repo = intval($ver_repo[0])*10000 + intval($ver_repo[1])*100 + intval($ver_repo[2]); - $version = strval($response['data']); - return ($ver_repo > $ver_current); - } - $this->ave->echo(" Failed check for updates: ".$response['code']); - return false; - } - - public function tool_install_ave_php_script() : bool { - $this->ave->clear(); - $program_path = realpath($this->ave->get_file_path($this->ave->path)); - if(!$this->ave->windows){ - $this->ave->echo(" This feature is available only on windows operating system."); - $this->ave->echo(" Use command: /usr/bin/php8.3 \"$program_path\includes\main.php\" --script [...]"); - $this->ave->pause(" Press any key to back to menu"); - } else if(!$this->ave->is_admin()){ - $this->ave->echo(" You must run ".$this->ave->app_name." as administrator to use this feature"); - $this->ave->pause(" Press any key to back to menu"); - } else { - if($this->ave->get_confirm(" Install .ave-php scripts support (Y/N): ")){ - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\.ave-php /ve /d "'.$this->ave->app_name.'" /f')); - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\AVE-PHP /ve /d "'.$this->ave->app_name.' Executable" /f')); - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\AVE-PHP\DefaultIcon /ve /d "\"'.$program_path.'\ave-php.ico\"" /f')); - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\AVE-PHP\shell /f')); - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\AVE-PHP\shell\open /f')); - $this->ave->echo(" ".exec('reg add HKEY_CLASSES_ROOT\AVE-PHP\shell\open\command /ve /d "\"'.$program_path.'\commands\AVE-PHP-SCRIPT.cmd\" \"%1\" %*" /f')); - $this->ave->pause(" Operation done, press any key to back to menu"); - } else { - $this->ave->pause(" Operation aborted, press any key to back to menu"); - } - } - return false; - } - -} - -?> diff --git a/includes/tools/DirectoryFunctions.php b/includes/tools/DirectoryFunctions.php deleted file mode 100644 index e02e638..0000000 --- a/includes/tools/DirectoryFunctions.php +++ /dev/null @@ -1,224 +0,0 @@ -ave = $ave; - $this->ave->set_tool($this->name); - } - - public function help() : void { - $this->ave->print_help([ - ' Actions:', - ' 0 - Delete empty folders', - ' 1 - Force load icon (desktop.ini)', - ' 2 - Count files in every folder', - ' 3 - Clone folder structure', - ]); - } - - public function action(string $action) : bool { - $this->params = []; - $this->action = $action; - switch($this->action){ - case '0': return $this->tool_delete_empty_folders(); - case '1': return $this->tool_force_load_icon(); - case '2': return $this->tool_count_files(); - case '3': return $this->tool_clone_folder_structure(); - } - return false; - } - - public function tool_delete_empty_folders() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Delete empty folders"); - $line = $this->ave->get_input(" Folders: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - - $this->ave->setup_folders($folders); - - $errors = 0; - $this->ave->set_errors($errors); - - foreach($folders as $folder){ - if(!file_exists($folder)) continue; - $files = array_reverse($this->ave->get_folders($folder)); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue 1; - $count = iterator_count(new FilesystemIterator($file, FilesystemIterator::SKIP_DOTS)); - if($count == 0){ - if(!$this->ave->rmdir($file)){ - $errors++; - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - unset($files); - $this->ave->set_folder_done($folder); - } - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_force_load_icon() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Force load icon"); - if(!$this->ave->windows) return $this->ave->windows_only(); - - $line = $this->ave->get_input(" Folders: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); - - foreach($folders as $folder){ - if(!file_exists($folder)) continue; - $files = $this->ave->get_folders($folder); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue 1; - $ini = $this->ave->get_file_path("$file/desktop.ini"); - if(!file_exists($ini)) continue 1; - $a = $this->ave->get_file_attributes($file); - $this->ave->set_file_attributes($file, true, $a['A'], $a['S'], $a['H']); - $a = $this->ave->get_file_attributes($ini); - $this->ave->set_file_attributes($ini, $a['R'], $a['A'], $a['S'], true); - $this->ave->progress($items, $total); - } - $this->ave->progress($items, $total); - unset($files); - $this->ave->set_folder_done($folder); - } - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_count_files() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Count files"); - - $line = $this->ave->get_input(" Folders: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); - - $this->ave->echo(" Empty for all, separate with spaces for multiple"); - $line = $this->ave->get_input(" Extensions: "); - if($line == '#') return false; - if($line == ''){ - $extensions = null; - } else { - $extensions = explode(" ", $line); - } - - $data = []; - - foreach($folders as $folder){ - if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $extensions); - $this->ave->write_log($files); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue 1; - $key = pathinfo($file, PATHINFO_DIRNAME); - if(!isset($data[$key])) $data[$key] = 0; - $data[$key]++; - $this->ave->progress($items, $total); - } - $this->ave->progress($items, $total); - unset($files); - $this->ave->set_folder_done($folder); - } - - $separator = $this->ave->config->get('AVE_CSV_SEPARATOR'); - foreach($data as $path => $count){ - $this->ave->write_data($count.$separator."\"$path\""); - } - - unset($data); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_clone_folder_structure() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Clone folder structure"); - - set_input: - $line = $this->ave->get_input(" Input (Folder): "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_input; - $input = $folders[0]; - - if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); - goto set_input; - } - - set_output: - $line = $this->ave->get_input(" Output (Folder): "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_output; - $output = $folders[0]; - - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - - $errors = 0; - $this->ave->set_errors($errors); - - $folders = $this->ave->get_folders($input); - $items = 0; - $total = count($folders); - foreach($folders as $folder){ - $items++; - $directory = str_ireplace($input, $output, $folder); - if(!file_exists($directory)){ - if(!$this->ave->mkdir($directory)){ - $errors++; - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - -} - -?> diff --git a/includes/tools/MediaTools.php b/includes/tools/MediaTools.php deleted file mode 100644 index 1b7c7bb..0000000 --- a/includes/tools/MediaTools.php +++ /dev/null @@ -1,651 +0,0 @@ -ave = $ave; - $this->ave->set_tool($this->name); - } - - public function help() : void { - $this->ave->print_help([ - ' Actions:', - ' 0 - Merge: Video + Audio', - ' 1 - Merge: Video + SRT', - ' 2 - Avatar generator', - ' 3 - Video: Fetch media info', - ' 4 - Image converter', - ' 5 - Ident mime type: Images', - ]); - } - - public function action(string $action) : bool { - $this->params = []; - $this->action = $action; - switch($this->action){ - case '0': return $this->tool_merge_video_audio(); - case '1': return $this->tool_merge_video_subtitles(); - case '2': return $this->tool_avatar_generator(); - case '3': return $this->tool_video_fetch_media_info(); - case '4': return $this->tool_image_converter(); - case '5': return $this->tool_ident_mime_type(); - } - return false; - } - - public function tool_merge_video_audio() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Merge video audio"); - - set_video: - $line = $this->ave->get_input(" Video: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_video; - $video = $folders[0]; - - if(!file_exists($video) || !is_dir($video)){ - $this->ave->echo(" Invalid video folder"); - goto set_video; - } - - set_audio: - $line = $this->ave->get_input(" Audio: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_audio; - $audio = $folders[0]; - - if(!file_exists($audio) || !is_dir($audio)){ - $this->ave->echo(" Invalid audio folder"); - goto set_audio; - } - - set_output: - $line = $this->ave->get_input(" Output: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_output; - $output = $folders[0]; - - if($audio == $output || $video == $output){ - $this->ave->echo(" Output folder must be different than audio/video folder"); - goto set_output; - } - - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - - $errors = 0; - $this->ave->set_errors($errors); - - $files_video = []; - $files_audio = []; - - $files = $this->ave->get_files($video, $this->ave->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); - foreach($files as $file){ - $files_video[pathinfo($file, PATHINFO_FILENAME)] = $file; - } - - $files = $this->ave->get_files($audio, $this->ave->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); - foreach($files as $file){ - $files_audio[pathinfo($file, PATHINFO_FILENAME)] = $file; - } - - $items = 0; - $total = count($files_video); - foreach($files_video as $key => $file){ - $items++; - if(!file_exists($file)){ - $this->ave->write_error("FILE NOT FOUND \"$file\""); - $errors++; - } else if(!isset($files_audio[$key])){ - $this->ave->write_error("AUDIO FILE NOT FOUND FOR \"$file\""); - $errors++; - } else { - $audio = $files_audio[$key]; - $out = $this->ave->get_file_path("$output/$key.mkv"); - if(file_exists($out)){ - $this->ave->write_error("FILE ALREADY EXISTS \"$out\""); - $errors++; - } else { - $this->ave->exec("mkvmerge", "-o \"$out\" --no-audio --no-subtitles \"$file\" --no-video \"$audio\""); - if(!file_exists($out)){ - $this->ave->write_error("FAILED MERGE \"$file\" + \"$audio\" INTO \"$out\""); - $errors++; - } else { - $this->ave->write_log("MERGE \"$file\" + \"$audio\" INTO \"$out\""); - } - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_merge_video_subtitles() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Merge video subtitles"); - - set_input: - $line = $this->ave->get_input(" Input: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_input; - $input = $folders[0]; - - if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); - goto set_input; - } - - set_output: - $line = $this->ave->get_input(" Output: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_output; - $output = $folders[0]; - - if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); - goto set_output; - } - - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - - $errors = 0; - $this->ave->set_errors($errors); - - $lang = $this->ave->config->get('AVE_SUBTITLES_LANGUAGE'); - $files = $this->ave->get_files($input, $this->ave->mkvmerge->get('MKV_MERGE_SUPPORTED_FILES'), ['srt']); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue; - $srt = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME).".srt"); - $out = $this->ave->get_file_path("$output/".pathinfo($file, PATHINFO_BASENAME)); - if(file_exists($out)){ - $this->ave->write_error("FILE ALREADY EXISTS \"$out\""); - $errors++; - } else if(!file_exists($srt)){ - $this->ave->write_error("FILE NOT EXISTS \"$srt\""); - $errors++; - } else { - $this->ave->exec("mkvmerge", "-o \"$out\" --default-track 0 --sub-charset 0:UTF-8 --language 0:$lang \"$srt\" \"$file\""); - if(!file_exists($out)){ - $this->ave->write_error("FAILED MERGE \"$file\" + \"$srt\" INTO \"$out\""); - $errors++; - } else { - $this->ave->write_log("MERGE \"$file\" + \"$srt\" INTO \"$out\""); - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_avatar_generator() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Avatar generator"); - - set_input: - $line = $this->ave->get_input(" Input: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_input; - $input = $folders[0]; - - if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); - goto set_input; - } - - set_output: - $line = $this->ave->get_input(" Output: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_output; - $output = $folders[0]; - - $size = $this->ave->get_input_integer(" Width (0 - no resize): ", 0); - if(!$size) return false; - - if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); - goto set_output; - } - - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - - $media = new MediaFunctions($this->ave); - - $image_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); - $variants = explode(" ", $this->ave->config->get('AVE_AVATAR_GENERATOR_VARIANTS')); - $files = $this->ave->get_files($input, $image_extensions); - - $errors = 0; - - $detector = new FaceDetector($this->ave->get_file_path($this->ave->path."/includes/data/FaceDetector.dat")); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue; - $folder = pathinfo($file, PATHINFO_DIRNAME); - $directory = str_ireplace($input, $output, $folder); - if(!file_exists($directory)){ - if(!$this->ave->mkdir($directory)){ - $errors++; - } - } - if(file_exists($directory)){ - $image = $media->get_image_from_path($file); - if(is_null($image)){ - $this->ave->write_error("FAILED LOAD IMAGE \"$file\""); - $errors++; - } else { - $face = $detector->face_detect($image); - if(!$face){ - $this->ave->write_error("FAILED GET FACE \"$file\""); - $errors++; - } else { - foreach($variants as $variant){ - $new_name = $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_FILENAME)."@$variant.".pathinfo($file, PATHINFO_EXTENSION)); - if($detector->save_variant_image(floatval($variant), $file, $new_name, $size)){ - $this->ave->write_log("WRITE VARIANT $variant FOR \"$file\""); - } - } - } - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_video_fetch_media_info() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Video fetch media info"); - - set_input: - $line = $this->ave->get_input(" Input: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_input; - $input = $folders[0]; - - if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); - goto set_input; - } - $output = $input; - - set_output: - $line = $this->ave->get_input(" Output (Empty, same as input): "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(isset($folders[0])){ - $output = $folders[0]; - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - $file_name = 'AveMediaInfo'; - - $line = $this->ave->get_input(" File name (Empty, default): "); - if($line == '#') return false; - $fname = $this->ave->clean_file_name($line); - if(!empty($fname)) $file_name = $fname; - } - - $generate_checksum = $this->ave->get_confirm(" Generate checksum if .md5 file not found (Y/N): "); - - $media = new MediaFunctions($this->ave); - - $errors = 0; - $this->ave->set_errors($errors); - - $ini_old = $this->ave->get_file_path("$input/$file_name.ini"); - $ini_new = $this->ave->get_file_path("$output/$file_name.gz-ini"); - if(file_exists($ini_old) && !file_exists($ini_new)){ - $this->ave->rename($ini_old, $ini_new); - } - $cache = new IniFile($ini_new, true, true); - $this->ave->echo(" Read file: $ini_new"); - $this->ave->echo(" Last update: ".$cache->get('.LAST_UPDATE', 'None')); - - $csv_file = $this->ave->get_file_path("$output/$file_name.csv"); - $this->ave->delete($csv_file); - $csv = new Logs($csv_file, false, true); - $s = $this->ave->config->get('AVE_CSV_SEPARATOR'); - $csv->write('"File path"'.$s.'"Dir name"'.$s.'"File name"'.$s.'"Extension"'.$s.'"Resolution"'.$s.'"Quality"'.$s.'"Duration"'.$s.'"Size"'.$s.'"Orientation"'.$s.'"Checksum (MD5)"'.$s.'"FPS"'.$s.'"Codec"'); - - $keys = []; - $video_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_VIDEO')); - $files = $this->ave->get_files($input, $video_extensions); - $items = 0; - $new = 0; - $total = count($files); - foreach($files as $file){ - $items++; - $this->ave->set_errors($errors); - if(!file_exists($file)) continue; - $key = hash('md5', str_ireplace($input, '', $file)); - if($cache->is_set($key)){ - $media_info = $cache->get($key); - $resolution = $media_info['resolution']; - $quality = $media_info['quality']; - $duration = $media_info['duration']; - $file_size = $media_info['file_size']; - $orientation_name = $media_info['orientation_name']; - $checksum = $media_info['checksum']; - $fps = $media_info['fps']; - $codec = $media_info['codec']; - if(is_null($checksum) && $generate_checksum){ - $checksum = strtoupper(hash_file('md5', $file)); - $new++; - } - } else { - $new++; - $resolution = $media->get_video_resolution($file); - if($resolution == '0x0'){ - $this->ave->write_error("FAILED GET MEDIA RESOLUTION \"$file\""); - $errors++; - continue; - } - $size = explode('x', $resolution); - $orientation = $media->get_media_orientation(intval($size[0]), intval($size[1])); - $quality = $media->get_media_quality(intval($size[0]), intval($size[1]), true).$this->ave->config->get('AVE_QUALITY_SUFFIX'); - $duration = $media->get_video_duration($file); - $file_size = $this->ave->format_bytes(filesize($file)); - $orientation_name = $media->get_media_orientation_name($orientation); - $fps = $media->get_video_fps($file); - $codec = $media->get_video_codec($file); - if(file_exists("$file.md5")){ - $checksum = file_get_contents("$file.md5"); - } else if($generate_checksum){ - $checksum = strtoupper(hash_file('md5', $file)); - } else { - $checksum = null; - } - $cache->set($key, [ - 'resolution' => $resolution, - 'quality' => $quality, - 'duration' => $duration, - 'file_size' => $file_size, - 'orientation_name' => $orientation_name, - 'checksum' => $checksum, - 'fps' => $fps, - 'codec' => $codec, - ]); - if($new > 0 && $new % 25 == 0) $cache->save(); - $this->ave->write_log("FETCH MEDIA INFO \"$file\""); - } - $meta = [ - '"'.str_replace("\\\\", "\\", addslashes($file)).'"', - '"'.str_replace("\\\\", "\\", addslashes(pathinfo(pathinfo($file, PATHINFO_DIRNAME), PATHINFO_BASENAME))).'"', - '"'.str_replace("\\\\", "\\", addslashes(pathinfo($file, PATHINFO_FILENAME))).'"', - '"'.str_replace("\\\\", "\\", addslashes(pathinfo($file, PATHINFO_EXTENSION))).'"', - '"'.$resolution.'"', - '"'.$quality.'"', - '"'.$duration.'"', - '"'.$file_size.'"', - '"'.$orientation_name.'"', - '"'.($checksum ?? 'None').'"', - '"'.$fps.'"', - '"'.$codec.'"', - ]; - array_push($keys, $key); - $csv->write(implode($this->ave->config->get('AVE_CSV_SEPARATOR'), $meta)); - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - $this->ave->echo(" Saved results into ".$csv->get_path()); - $csv->close(); - $cache->set_all($cache->only($keys)); - $cache->update(['.LAST_UPDATE' => date('Y-m-d H:i:s')], true); - $cache->close(); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_image_converter() : bool { - $this->ave->set_subtool("Image converter"); - - set_mode: - $this->ave->clear(); - $this->ave->print_help([ - ' Modes:', - ' 0 - Image > WEBP', - ' 1 - Image > JPG', - ' 2 - Image > PNG', - ' 3 - Image > GIF', - ]); - - $line = $this->ave->get_input(" Mode: "); - if($line == '#') return false; - - $this->params = [ - 'mode' => strtolower($line[0] ?? '?'), - ]; - - if(!in_array($this->params['mode'],['0','1','2','3'])) goto set_mode; - $this->ave->clear(); - - set_input: - $line = $this->ave->get_input(" Input: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_input; - $input = $folders[0]; - - if(!file_exists($input) || !is_dir($input)){ - $this->ave->echo(" Invalid input folder"); - goto set_input; - } - - set_output: - $line = $this->ave->get_input(" Output: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - if(!isset($folders[0])) goto set_output; - $output = $folders[0]; - - if($input == $output){ - $this->ave->echo(" Output folder must be different than input folder"); - goto set_output; - } - - if((file_exists($output) && !is_dir($output)) || !$this->ave->mkdir($output)){ - $this->ave->echo(" Invalid output folder"); - goto set_output; - } - - $errors = 0; - - $extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); - $files = $this->ave->get_files($input); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - $this->ave->set_errors($errors); - if(!file_exists($file)) continue; - if(!in_array(pathinfo($file, PATHINFO_EXTENSION), $extensions)){ - $this->ave->write_error("FILE FORMAT NOT SUPORTED \"$file\""); - $errors++; - continue; - } - $folder = pathinfo($file, PATHINFO_DIRNAME); - $directory = str_ireplace($input, $output, $folder); - if(!file_exists($directory)){ - if(!$this->ave->mkdir($directory)){ - $errors++; - continue; - } - } - $new_name = $this->ave->get_file_path("$directory/".pathinfo($file, PATHINFO_FILENAME)); - $image = new Imagick($file); - if(!$image->valid()){ - $this->ave->write_error("FAILED READ IMAGE \"$file\" BY IMAGICK"); - $errors++; - continue; - } - switch(intval($this->params['mode'])){ - case 0: { - $image->setImageFormat('webp'); - if($image->getImageFormat() == 'PNG'){ - $image->setOption('webp:lossless', 'true'); - } - $image->setImageCompressionQuality($this->ave->config->get('AVE_COMPRESS_LEVEL_WEBP')); - $new_name .= ".webp"; - break; - } - case 1: { - $image->setImageFormat('jpeg'); - $image->setImageCompressionQuality($this->ave->config->get('AVE_COMPRESS_LEVEL_JPEG')); - $new_name .= ".jpg"; - break; - } - case 2: { - $image->setImageFormat('png'); - $image->setImageCompressionQuality($this->ave->config->get('AVE_COMPRESS_LEVEL_PNG')); - $new_name .= ".png"; - break; - } - case 3: { - $image->setImageFormat('gif'); - $image->setImageCompressionQuality($this->ave->config->get('AVE_COMPRESS_LEVEL_GIF')); - $new_name .= ".gif"; - break; - } - } - if(file_exists($new_name)){ - $image->destroy(); - $this->ave->write_error("FILE ALREADY EXISTS \"$new_name\""); - $errors++; - continue; - } - try { - $image->writeImage($new_name); - } - catch(Exception $e){ - $this->ave->write_error($e->getMessage()); - } - $image->destroy(); - if(!file_exists($new_name)){ - $this->ave->write_error("FAILED SAVE FILE \"$new_name\""); - $errors++; - continue; - } else { - $this->ave->write_log("CONVERT \"$file\" TO \"$new_name\""); - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - - public function tool_ident_mime_type() : bool { - $this->ave->clear(); - $this->ave->set_subtool("Ident mime type"); - if(!$this->ave->windows) return $this->ave->windows_only(); - - $line = $this->ave->get_input(" Folders: "); - if($line == '#') return false; - $folders = $this->ave->get_input_folders($line); - $this->ave->setup_folders($folders); - - $errors = 0; - $this->ave->set_errors($errors); - $image_extensions = explode(" ", $this->ave->config->get('AVE_EXTENSIONS_PHOTO')); - array_push($image_extensions, ''); - $media = new MediaFunctions($this->ave); - foreach($folders as $folder){ - if(!file_exists($folder)) continue; - $files = $this->ave->get_files($folder, $image_extensions); - $items = 0; - $total = count($files); - foreach($files as $file){ - $items++; - if(!file_exists($file)) continue 1; - $extension_current = strtolower(pathinfo($file, PATHINFO_EXTENSION)); - $extension_detected = $media->get_extension_by_mime_type($file); - if(!$extension_detected){ - $this->ave->write_error("FAILED DETECT IMAGE TYPE \"$new_name\""); - $errors++; - continue 1; - } - if($extension_current != $extension_detected){ - $new_name = $this->ave->get_file_path(pathinfo($file, PATHINFO_DIRNAME)."/".pathinfo($file, PATHINFO_FILENAME).".".$extension_detected); - if(!$this->ave->rename($file, $new_name)){ - $errors++; - } - } - $this->ave->progress($items, $total); - $this->ave->set_errors($errors); - } - $this->ave->progress($items, $total); - unset($files); - $this->ave->set_folder_done($folder); - } - - - $this->ave->open_logs(true); - $this->ave->pause(" Operation done, press any key to back to menu"); - return false; - } - -} - -?> diff --git a/version b/version index ecf00d9..cc6612c 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.2.5 \ No newline at end of file +2.3.0 \ No newline at end of file